4种访问控制权限
java访问级别修饰符主要包括:private 、protected、public和default(默认就是什么都不写),可以限定其他类对该类、属性和方法的使用权限。
修饰词
本类
同一个包的类
子类
任何地方
private
√
×
×
×
default(默认)
√
√
×
×
protected
√
√
√
×
public
√
√
√
√
注意以上对类的修饰只有:public和default,内部类除外
priavte和public都比较好理解和记忆,这里就不演示了,主要演示一下不同包下的两个具有父子关系的类里面使用protected和default的区别。
创建一个Person类
package com.monkey1024.score.sys;
public class Person{
String name;
protected int age;
void m1(){
System.out.println("m1");
}
protected void m2(){
System.out.println("m2");
}
}
创建一个User类,与Person类不在同一个包下
package com.monkey1024.score.buss;
import com.monkey1024.score.sys.Person;
public class User extends Person{
public void m3(){
m1();//无法访问,因为父类里面是default修饰的
m2();
System.out.println(age);
System.out.println(name);//无法访问,因为父类里面是default修饰的
}
}