对比明显的表格呈上
关键字 | 当前类 | 同一package | 子类 | 其他package |
---|---|---|---|---|
public | ✔ | ✔ | ✔ | ✔ |
protected | ✔ | ✔ | ✔ | × |
default | ✔ | ✔ | × | × |
private | ✔ | × | × | × |
进一步的说明:
- public,表明该成员变量或方法对所有类或对象都是可见的,所有类或对象都可以直接访问
- protected,表明该成员变量或方法对自己及其子类,即自己、子类以及同一包中类可以访问
- default,表明该成员变量或方法只有自己和同一包中类可见。其中,若父子类位于同一包内,则子类可以访问父类中default成员变量或方法;若父子类位于不同包内,则子类没有权限方法父类中default成员变量或方法
- private,表明该成员变量或方法时私有的,只有当前类才可以访问。