java 的class 为什么不可以是protected访问权限?请高手回答!

解决方案 »

  1.   

    inner class 就可以用protected修饰
      

  2.   

    CLASS好象只能是public 和 friend的吧,其他的不清楚
      

  3.   

    发个email给Sun问问为什么,我也不晓得
      

  4.   

    protected 是针对方法、属性
    Class 是类,类的加载是没有必要用protected 来限制;
      

  5.   

    请look和netstu再详细说说,谢谢!
    请高手们从原理上说明,最好有例子,谢谢!
      

  6.   

    protected 的权限是不能被外部包中的类或方法访问class作为方法和属性的一个载体(应该可以这么说),它本身就有一个缺省的设置,而这个缺省设置的访问权限正好是 “protected方法和属性” 的访问权限
      

  7.   

    说得具体些,就是Java的inner class访问权限默认是protected 的,除非你硬性的定义为private
      

  8.   

    我们把class定义为protected可以在其它类里面继承的啊?
    我也是看《thinking in java》里面写的java的class只可以是public和默认,不能是private(这个我知道)和protected,如果不能是protected,那么我们的所说的继承是继承谁呢?
      

  9.   

    我感觉这个原因是:java的类在继承的时候,继承的只是方法了类变量, 对于构造函数是不会被继承的,而一个类的定义的模式是由构造函数确定的。
    所以,构造函数不能被继承,那么当然类的前面加上protected也就是没有什么意义了。
    那样还会引起非单继承的混淆个人理解>......
      

  10.   

    我们防止类被继承,一般是将其构造函数私有化,这样该类就不能被实例化,也不可以被继承,所以类前面如果再来个 private关键字也就没有实际意义了