着重protected、default区别

public是所有,在哪都可以访问
private是私有,仅在自己类里面可以访问
protected是自己包里面可以访问,如果有不同包的类想调用它们,那么这个类必须是定义它们的类的子类。
default也是自己包里面可以访问,而且不能被其它包里面的子类访问。

调用和直接使用的区别:调用强调新建了对象并且使用其下函数,  而直接使用一般在继承关系中直接用到父类的函数。
作用域       当前类    同一package(不管子类还是被新建对象调用)   子孙类(不同包内继承关系的直接使用)   其他package(不同包内不是子孙关系的新建对象调用) 

public        √                       √                                                √                                      √ 

protected    √                         √                                               √                                       × 

default        √                          √                                               ×                                      × 

private       √                         ×                                                ×                               ×

原文地址:https://www.cnblogs.com/friends-wf/p/3582253.html