1修饰类、方法和属性的访问控制修饰符有四种:public、protected、default(默认没有修饰符修饰时的状态),private
2四种修饰符的简单说明
public:可以再任意位置访问
protected:该类的包外子类中可以访问,同一包下的类可以访问
default:同一包下的类可以访问
private:类自身中可以访问
3四种修饰符的访问权限范围的大小:public > protected > default > private
4四种修饰符的访问权限范围示意:
包外的类(非子类) | 包外的类(子类) | 同一包下的类 | 类内部 | |
public | V | V | V | V |
protected | X | V | V | V |
default | X | X | V | V |
private | X | X | X | V |
5子类继承父类时,子类重写父类的方法,则,子类方法的修饰符权限范围不能小于父类修饰符范围。
如下:
public class ScopeTest {
public static void main(String[] args) {
new Child().test();
}
}
class Parent{
protected void test(){
System.out.println("Parent-->test");
}
private void print(){
System.out.println("Parent-->print");
}
}
class Child extends Parent{
//这是错的,default权限范围小于protected
// void test(){
//
// }
//这是正确的,public权限范围大于protected
public void test(){
System.out.println("Child-->test");
}
}