java中public,private.friendly.proected的继承范围

来源:互联网 发布:日本蛋包饭知乎 编辑:程序博客网 时间:2024/04/30 02:18

 

//A.java

package p1;
public class A{
 public String v_public="public变量";
    protected String v_protected="protected变量";
    String v_friendly="friendly变量";
    private String v_private="private变量";
     
    public void access( ){
     System.out.println("在同一个类中,可以访问一下修饰符在变量:");
     System.out.println(v_public);
     System.out.println(v_protected);
     System.out.println(v_friendly);
     System.out.println(v_private);
    }  
}

 

 

//B.java

package p1;
public class B {
   A a=new A();
    public void access(){
  System.out.println("在同一个包中,可以访问以下修饰符的变量:");
  System.out.println(a.v_public);
  System.out.println(a.v_protected);
  System.out.println(a.v_friendly);
  //System.out.println(a.v_private);
 }
   
}

 

 

//C.java

package p2;
import p1.A;
public class C extends A{
 
 public void access(){
  System.out.println("在不同的包中的子类中,可以访问以下修饰符在变量:");
     System.out.println(super.v_public);
     System.out.println(super.v_protected);
     //System.out.println(super.v_friendly);
     //System.out.println(super.v_private);
 }
}

 

 

//D.java

package p2;
import p1.A;
public class D{
 A a=new A();
 public void access(){
  System.out.println("在不同的包的非子类中,可以访问以下修饰符在变量:");
     System.out.println(a.v_public);
     //System.out.println(a.v_protected);
     //System.out.println(a.v_friendly);
     //System.out.println(a.v_private);
 }
}

 

 

//Test.java

import p1.A;
import p1.B;
import p2.C;
import p2.D;
publid class Test{
 public static void main(Sting[] args){
  A a=new A();
  B b=new B();
  C c=new C();
  D d=new D();
  a.access();
  System.out.println();
  b.access();
  System.out.println();
  c.access();
  System.out.println();
  d.access();
  System.out.println();
 }
}

原创粉丝点击