`

访问控制修饰符笔记

阅读更多

1修饰类、方法和属性的访问控制修饰符有四种:publicprotecteddefault(默认没有修饰符修饰时的状态),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");
   }
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics