文件一,本类中可以访问全部:
package xsf;
/**
* Created by liwenj on 2017/7/25.
*/
public class A {
private int x=12;//私有
int y=1;//friendly
public int z=2;//公共
protected int m=14;//受保护
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public void t(){
System.out.println(this.y);
System.out.println(this.z);
System.out.println(this.m);
}
}
文件2,同一个包下面实例化的对象可以访问除 private的内容:
package xsf;
/**
* Created by liwenj on 2017/7/25.
*/
public class B {
public void t(){
A a=new A();
System.out.println(a.y);
System.out.println(a.z);
System.out.println(a.m);
}
}
外包文件3,子类中能访问protected,public:
package xsf1;
import xsf.A;//引入xsf外包
/**
* Created by liwenj on 2017/7/25.
*/
public class B1 extends A{
public void t(){
System.out.println(this.z);
}
}
外包文件4,只能访问public
package xsf1;
import xsf.A;
/**
* Created by liwenj on 2017/7/25.
*/
public class B2 {
public void t(){
A a=new A();
System.out.println(a.z);
}
}