private ,friendly,public protected四种修饰符访问权限(从idea代码提示中看出)
文件一,本类中可以访问全部:
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); } }