在java中,要想使定义该类所在的保外的类不能访问这个类应用的关键字是()
A. 不需要任何关键字 B. private C. protected  D.final
这个题我开始选择 是 B 和 C  但是后来朋友说 是子类的话也可以直接访问 所以他选A  我想也对 那是不是应该选 A 、 B、C 呢?

解决方案 »

  1.   

    选择B啊!!private是同一个类都是可以访问的,不同包和不同类中都不能访问!protected是同一个包中的继承了的类才能访问的,不同包中不能访问,A没加关键字,其实程序自动加了一个default修饰的,同一个包中的类都是可以访问的,不同包中不能选择!
      

  2.   

                       类内部       package内            子类         其他   
      public             允许         允许                 允许         允许   
      protected         允许         允许                 允许         不允许   
      default           允许         允许                 不允许     不允许   
      private           允许         不允许             不允许     不允许
    是吗?如果是包外子类的话,protected还是可以访问的,我觉得应该是讨论下C吧,A是肯定要选的,还是我弄错了?
      

  3.   


    我觉得C 也对啊! protected 只能访问一个包中的啊!
      

  4.   

    在java中,要想使定义该类所在的保外的类不能访问这个类应用的关键字是
    请问各位。class的修饰符能是private 吗,能是proceted?
    也许是说里面的方法修饰符吧,那样的话,只有缺省了,因为public不能用,final只能说不能修改,包私有的话,也就是缺省的,那么只能这个包的能用,Proceted不同包的子类照样能使用,private的话,自己包里面的也不能用,范围太小了!