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);
    }
}
原文地址:https://www.cnblogs.com/lwj820876312/p/7235308.html