C#和Java访问修饰符的比较

访问修饰符
对于C#:
类 的默认修饰符是 internal(外部类只能被public / internal 修饰)
枚举 的默认修饰符是 public 且此类型不允许其它访问修饰符
接口 的默认修饰符是 internal 且此类型不允许其它访问修饰符,接口成员只能是public
委托 的默认修饰符是 internal
类中的成员可使用全部访问修饰符
protected internal :在程序集内部总是可访问,在程序集外部只能是子类中可访问


对于Java:

C#中的internal其实就对应于Java中的default,java中的protected就对应于C#中的protected internal
所有的地方,默认修饰符是 default(什么都不写),表示同一个包中可见(外部类只能用public修饰,或者不写(即default))

  1. public 一个类中,同一包中,子类中,不同包中 
  2. protected  一个类中,同一包中,子类中
  3. default 一个类中,同一包中
  4. private 一个类中

 

  一.(修饰类成员)类成员

  1. 成员使用private修饰只在本类中使用。
  2. 如果一个成员没有使用任何修饰符,就是default,该成员可以被包中的其
  3. 他类访问。
  4. protected成员被protected修饰可以被包中其他类访问,并且位于不同
  5. 包中的子类也可以访问。
  6. public修饰的成员可以被所有类访问

 

 

  二. (修饰类)

  1. 类只有两种public和默认(成员内部类可以使用private))
  2. 父类不可以是privateprotected否则子类无法继承
  3. public类可以被所有类访问
  4. 默认类只能被同一个包中的类访问

更详细的资料可以参考:

http://www.cnblogs.com/snowdrop/articles/2143194.html

 

posted @ 2015-10-10 23:57  湘大小生  阅读(980)  评论(0编辑  收藏  举报