public是所有,在哪都可以访问
private是私有,仅在自己类里面可以访问
protected是自己包里面可以访问,如果有不同包的类想调用它们,那么这个类必须是定义它们的类的子类。
default也是自己包里面可以访问,而且不能被其它包里面的子类访问。
调用和直接使用的区别:调用强调新建了对象并且使用其下函数, 而直接使用一般在继承关系中直接用到父类的函数。
作用域 当前类 同一package(不管子类还是被新建对象调用) 子孙类(不同包内继承关系的直接使用) 其他package(不同包内不是子孙关系的新建对象调用)
public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×