Java的访问修饰符的作用范围

访问修饰符:

  • private
  • default
  • protected
  • public

    作用范围:

访问修饰符\作用范围 所在类 同一包内其他类 其他包内子类 其他包内非子类
private 可以访问 不可以 不可以 不可以
default 可以 可以 不可以 不可以
protected 可以 可以 可以 不可以
public 可以 可以 可以 可以
    • private 
      被private修饰的属性和方法,不能被其他类访问,子类不能继承也不能访问。只能在所在类内部访问。
    • default
      变量或者方法前没有访问修饰符时,可以被所在类访问,可以被同一包内的其他类访问 或者继承。但是不能被其他包访问。
    • protected 
      被protected修饰的方法和属性,在同一包内可被访问和继承。不同包内,子类可继承,非子类不能访问。
    • public 
      方法和属性前有public修饰,可以被任意包内的类访问。 
      另外,类要想被其他包导入,必须声明为public。被public修饰的类,类名必须与文件名相同。
  • private
  • default
  • protected
  • public

    作用范围:

访问修饰符\作用范围 所在类 同一包内其他类 其他包内子类 其他包内非子类
private 可以访问 不可以 不可以 不可以
default 可以 可以 不可以 不可以
protected 可以 可以 可以 不可以
public 可以 可以 可以 可以
    • private 
      被private修饰的属性和方法,不能被其他类访问,子类不能继承也不能访问。只能在所在类内部访问。
    • default
      变量或者方法前没有访问修饰符时,可以被所在类访问,可以被同一包内的其他类访问 或者继承。但是不能被其他包访问。
    • protected 
      被protected修饰的方法和属性,在同一包内可被访问和继承。不同包内,子类可继承,非子类不能访问。
    • public 
      方法和属性前有public修饰,可以被任意包内的类访问。 
      另外,类要想被其他包导入,必须声明为public。被public修饰的类,类名必须与文件名相同。

猜你喜欢

转载自www.cnblogs.com/clqnotes/p/11746165.html