Java基础-访问修饰符

package com.hspedu.access_;

import com.hspedu.access2_.Data2_;
import com.hspedu.subdata_.SubData_;
import org.junit.Test;

public class TestAccess {

    /**
     * 可以访问的权限:
     *  public:本类、同包、子类、不同包
     *  protected:本类、同包、子类
     *  默认:本类、同包
     *  private:本类
     */
    @Test
    public void getData() {
        Data_ data_ = new Data_();
        System.out.println("public: " + data_.n1);
        System.out.println("protected: " + data_.n2);
        System.out.println("default: " + data_.n3);
//        System.out.println("private: " + data_.n4);
    }

    @Test
    public void getData2() {
        Data2_ data2_ = new Data2_();
        System.out.println("public:" + data2_.n1);
//        System.out.println("protected: " + data2_.n2);    // 不可以访问protected以下级别
    }

    @Test
    public void getSubData() {
        SubData_ subData_ = new SubData_();
        System.out.println("public: " + subData_.n1);
        System.out.println("protected: " + subData_.n2);
//        System.out.println("default:" + subData_.n3); // 不可以访问默认以下级别(不同包)
    }
}
package com.hspedu.access_;

public class Data_ {
    public int n1 = 1;
    protected int n2 = 2;
    int n3 = 3;
    private int n4 = 4;
}
package com.hspedu.access2_;

public class Data2_ {
    public int n1 = 11;
    protected int n2 = 12;
    int n3 = 13;
    private int n4 = 14;
}
package com.hspedu.subdata_;

import com.hspedu.access_.Data_;

public class SubData_ extends Data_ {

}

TestAccess类和Data_类在同包下,Data2_和SubData_在不同包下测试

posted @ 2022-05-05 11:03  柯南同学  阅读(33)  评论(0)    收藏  举报