Java 访问级别

暴露等级

访问级别


  • private
    最封闭的级别,私有,只能自己访问

  • default
    不加任何修饰符,同一包内可访问

  • protected
    同一包内或者子类可访问
    如果想访问第三方包内的受保护方法,要么继承,要么在同一包下创建辅助类,自行创建public方法暴露出来

  • public
    最开放的级别,完全暴露给外界

1
2
3
4
5
Modifier      Class    Package   Subclass  World
public Y Y Y Y
protected Y Y Y N
no modifier Y Y N N
private Y N N N

隐含的访问级别


  • interface定位是暴露给外界使用,里面的成员和方法默认都是public的,无需显式声明
  • enum里的构造器默认是private, 无需显式声明