//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();
}
}