| 
 Java中有四个权限,分别为private,protected,default,public,不写即为default,每个权限分别为如下表格: 
  
 | private 
 | default 
 | protected 
 | public 
 |  本类可访问 
 | 是 
 | 是 
 | 是 
 | 是 
 |  本包非本类可访问 
 | 否 
 | 是 
 | 是 
 | 是 
 |  非本包的子类可访问 
 | 否 
 | 否 
 | 是 
 | 是 
 |  非本包的类 
 | 否 
 | 否 
 | 否 
 | 是 
 |  
 另外类成员的权限不得大于类的权限,如果大于,以类的权限为准。即如下的一个类: class Test{ 
    public int i=0; 
    public void fun() 
    { 
        System.out.println(i); 
    } 
}则类成员i和fun虽然定义的权限为public,但是由于类的权限为default,所以i,fun的权限仍为default。 通过对象访问类成员时,也要遵守权限,如下: class Test{ 
    public static void main(String[] args){ 
        Myclass a=new Myclass(); 
        a.fun1();//错误,因为fun1的权限为private 
        a.fun2(); 
        System.out.println(a.i1);//错误,因为i1的权限为private 
        System.out.println(a.i2); 
    } 
} 
class Myclass{ 
    private int i1=0; 
    int i2=0; 
    private void fun1() 
    { 
        System.out.println("fun1()"); 
     } 
     void fun2() 
     { 
         System.out.println("fun2()"); 
      } 
}权限在继承时,只能从小的范围到大的范围改变(或者权限不变),不得从大的权限到小的权限,如下例子: class parent{ 
    public void test() 
    { 
        System.out.println("hello"); 
     } 
 } 
 class children extends{ 
     protected void test() //错误,test的权限变小了 
     { 
         System.out.println("hello"); 
     } 
 } 
 |