Java四种权限修饰符
一、四种修饰符作用范围
二、代码实现
1.同一个类
//同一个类
public class demo01 {
public int num1 = 10;
protected int num2 = 20;
int num3 = 30;//前面不写任何修饰符就是default
private int num4 = 40;
public void method01(){
System.out.println(num1);//输出正确
System.out.println(num2);//输出正确
System.out.println(num3);//输出正确
System.out.println(num4);//输出正确
}
}
2.同一个包
//同一个包
public class demo02 {
public void method02(){
System.out.println(new demo01().num1);//public 可以访问
System.out.println(new demo01().num2);//protected 可以访问
System.out.println(new demo01().num3);//default默认 可以访问
System.out.println(new demo01().num4);//private 不可访问
}
}
3.不同包的子类
import Java修饰符.demo01;//因为在不同的包下,需要导包
//不同包下的子类
public class demo03 extends demo01{
public void method03(){
System.out.println(num1);//public 可以访问
System.out.println(num2);//protected 可以访问
System.out.println(num3);//default默认 不可访问
System.out.println(num4);//private 不可访问
}
}
4.不同包的非子类
import Java修饰符.demo01;//不同包下,需要进行导包
// 不同包非子类
public class demo04 {
public void method04(){
System.out.println(new demo01().num1);// public 可以访问
System.out.println(new demo01().num2);// protected 不可访问
System.out.println(new demo01().num3);// default默认 不可访问
System.out.println(new demo01().num4);// private 不可访问
}
}