您的位置:首页 > 编程语言 > Java开发

java与C#中的访问修饰符对比

2012-04-06 23:59 260 查看
学习java和c#过程中出现对访问修饰符混淆的情况,其实这两个语言的差异不是很大,但是细节之处需要留意一下。

JAVA

-----------------------------------------------

访问修饰符 描述

-----------------------------------------------

private 只能在本类内使用(可见)

不写修饰符 表示该成员只能在同一个包内才能互相访问

protected 也是同包内访问,区别上面的地方在于:除了同包,其他包的子类也可以访问

public 表明该成员变量和方法是共有的,能在任何情况下都能被访问

-----------------------------------------------超级分割线-----------------------------------------------

C#

-----------------------------------------------

访问修饰符 描述

-----------------------------------------------

private 跟JAVA一样,只能在本类中可以使用

protected 跟JAVA不一样,除了自己只能子类可以访问

internal 只能在当前程序集能访问

protected internal 唯一的一种组合使用的形式,在当前程序集或自己的子类访问,类似于java中的protected

public 访问不受限制。

-----------------------------------------------

特别注意:在C#中如果类内部成员(方法、属性、字段等)不写任何修饰符则默认为private;

如果类(class)的访问修饰符什么也不写默认是internal。

程序集大家可以理解成当前的项目,比如在搭建3层框架时一个解决方案下会有多个项目(表示层、业务逻辑层、数据访问层...),如果想只能在当前项目访问则可以使用internal。

*基类至少与派生类有相同的访问性。

=============================THE END=============================

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: