C#和Java访问修饰符的比较
2015-10-10 23:57
295 查看
访问修饰符
对于C#:
类 的默认修饰符是 internal(外部类只能被public / internal 修饰)
枚举 的默认修饰符是 public 且此类型不允许其它访问修饰符
接口 的默认修饰符是 internal 且此类型不允许其它访问修饰符,接口成员只能是public
委托 的默认修饰符是 internal
类中的成员可使用全部访问修饰符
protected internal :在程序集内部总是可访问,在程序集外部只能是子类中可访问
对于Java:
C#中的internal其实就对应于Java中的default,java中的protected就对应于C#中的protected internal
所有的地方,默认修饰符是 default(什么都不写),表示同一个包中可见(外部类只能用public修饰,或者不写(即default))
public 一个类中,同一包中,子类中,不同包中
protected 一个类中,同一包中,子类中
default 一个类中,同一包中
private 一个类中
一.(修饰类成员)类成员
成员使用private修饰只在本类中使用。
如果一个成员没有使用任何修饰符,就是default,该成员可以被包中的其
他类访问。
protected成员被protected修饰可以被包中其他类访问,并且位于不同
包中的子类也可以访问。
public修饰的成员可以被所有类访问。
二. (修饰类)类
类只有两种public和默认(成员内部类可以使用private))
父类不可以是private和protected,否则子类无法继承
public类可以被所有类访问
默认类只能被同一个包中的类访问
更详细的资料可以参考:
http://www.cnblogs.com/snowdrop/articles/2143194.html
对于C#:
类 的默认修饰符是 internal(外部类只能被public / internal 修饰)
枚举 的默认修饰符是 public 且此类型不允许其它访问修饰符
接口 的默认修饰符是 internal 且此类型不允许其它访问修饰符,接口成员只能是public
委托 的默认修饰符是 internal
类中的成员可使用全部访问修饰符
protected internal :在程序集内部总是可访问,在程序集外部只能是子类中可访问
对于Java:
C#中的internal其实就对应于Java中的default,java中的protected就对应于C#中的protected internal
所有的地方,默认修饰符是 default(什么都不写),表示同一个包中可见(外部类只能用public修饰,或者不写(即default))
public 一个类中,同一包中,子类中,不同包中
protected 一个类中,同一包中,子类中
default 一个类中,同一包中
private 一个类中
一.(修饰类成员)类成员
成员使用private修饰只在本类中使用。
如果一个成员没有使用任何修饰符,就是default,该成员可以被包中的其
他类访问。
protected成员被protected修饰可以被包中其他类访问,并且位于不同
包中的子类也可以访问。
public修饰的成员可以被所有类访问。
二. (修饰类)类
类只有两种public和默认(成员内部类可以使用private))
父类不可以是private和protected,否则子类无法继承
public类可以被所有类访问
默认类只能被同一个包中的类访问
更详细的资料可以参考:
http://www.cnblogs.com/snowdrop/articles/2143194.html
相关文章推荐
- Java Lambda表达式
- Myeclipse9.1 配置反编译插件jad
- java可执行jar包的运行
- Java连接Microsoft SQL Server 2005的方法
- maven eclipse 配置
- VisualSvn Server 的配置以及和NetBeans的搭配使用
- java命令行语句
- Ubuntu 14.04上的eclipse老是crash
- Java 父类子类的对象初始化过程
- Eclipse版本区别
- Spring注入的问题
- 【Spring】Spring的定时任务
- struts2框架搭建
- Eclipse使用sublime主题
- myeclipse黑色主题怎么还原
- ***6.21-豆机 梅花瓶 高尔顿瓶
- Java 线程池的使用好处
- 【Java基础】static关键字的理解
- Java 守护线程和非守护线程的说明
- Java String类习题