package com.protectedaccess.test;public class ProtectedTest {
void protectedMethod()
{
System.out.println("protectedMethod");
}
}
package com.protectedaccess.test;public class test extends ProtectedTest{
public static void main(String[] args) 
{
ProtectedTest pt = new ProtectedTest();
pt.protectedMethod();
}}默认的修饰符 是friendly ,它的访问权限不是可以访问子类的,为什么没有报错可以访问呢?

解决方案 »

  1.   

    因为你的public 修饰符已经覆盖了默认的friendly。
      

  2.   

    因为friendly权限是在同一包内是可以访问的啊,它的权限就是同包内啊,你不就是在同一包内吗。
      

  3.   

    friendly 修饰符在同一个package内是允许访问的,如果你把两个类的不放在同一个package中那就不能访问了
      

  4.   

    一楼的在胡扯,楼主不要听另外,friendly权限是同一个包下
      

  5.   

    java中默认的称包级私有吧, 就是同一个包的都可以访问不论是否使用继承. friendly怎么有点c++的友元的意思啊,呵呵,都是名字而已.