修饰符 | 同一个类中 | 同一个包中的子类,无关类 | 不同包下的子类 | 不同包下的无关类 |
private | 可以 | 不可以 | 不可以 | 不可以 |
默认 | 可以 | 可以 | 不可以 | 不可以 |
protected | 可以 | 可以 | 可以 | 不可以 |
public | 可以 | 可以 | 可以 | 可以 |
1.同一个包下的同一个类中:
package demo06;
/**
* @author ln
* @date 2022/1/16
* @description 权限修饰符(同一包下的同一个类)
*/
public class Fu2 {
private void show() {
System.out.println("private");
}
void show2() {
System.out.println("默认修饰符");
}
protected void show3() {
System.out.println("protected");
}
public void show4() {
System.out.println("public");
}
//创建fu类的对象
public static void main(String[] args) {
Fu2 f = new Fu2();
f.show();
f.show2();
f.show3();
f.show4();
}
}
2.同一个包中的子类:
package demo06;
/**
* @author ln
* @date 2022/1/16
* @description 权限修饰符(同一包下的子类)
*/
public class Zi2 extends Fu2 {
public static void main(String[] args) {
Zi2 z = new Zi2();
z.show2();
z.show3();
z.show4();
}
}
3.同一包下的无关类:
package demo06;
/**
* @author ln
* @date 2022/1/16
* @description 权限修饰符(同一包下的无关类)
*/
public class WuGuan {
public static void main(String[] args) {
Fu2 f = new Fu2();
f.show2();
f.show3();
f.show4();
}
}
4.不同包下的子类:
package demo012;
import demo06.Fu2;
/**
* @author ln
* @date 2022/1/16
* @description 权限修饰符(不同包下的子类)
*/
public class Zi2 extends Fu2 {
public static void main(String[] args) {
Zi2 z = new Zi2();
z.show3();
z.show4();
}
}
5.不同包下的无关类:
package demo012;
import demo06.Fu2;
/**
* @author ln
* @date 2022/1/16
* @description 权限修饰符(不同包下的无关类)
*/
public class WuGuan {
public static void main(String[] args) {
Fu2 f = new Fu2();
f.show4();
}
}