Java访问控制修饰符的权限范围(清晰总结版)

Java类前修饰符有 public 和 默认(缺省)

Java属性和方法前的修饰符有 public, protected, 默认(缺省),private

权限关系简图

image-20211029165827467

注释:左图为各种权限范围(范围由大到小),右图标明两种修饰符的组合对应的访问权限

总结

  • 只有当类访问权限为public,类方法和属性也为public时,方法和属性才可以适用于所有类(A)
  • 当类方法和属性为private,不论类权限是什么,方法和属性都只能仅本类访问(D)
  • 当类方法为public,方法和属性权限是protected时,方法和属性可供包内所有类以及包外的子类访问(B + G)
  • 除了上述的三种情况,其余皆为包内访问权限(B)
  • 如果是子类继承父类,那么除了父类private的属性和方法,其余的子类均可见(无论子类在包内还是包外)
  • 类中static修饰的属性和方法也遵从上述权限控制规则(没有例外

Guess you like

Origin blog.csdn.net/qq_51800570/article/details/121038856