总结如下:
修饰符 | 本类 | 同包 | 子类 | 同一工程 |
---|---|---|---|---|
private | √ | |||
default (即默认,什么也不写) | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
可以看到,访问范围从上到下逐渐变大。
定义:public是公共的,被public所修饰的成员可以在任何类中都能被访问到。
可修饰对象:
定义:protected是受保护的,受到该类所在的包所保护。
作用域:被protected所修饰的成员会被位于同一package中的所有类访问到。同时,被protected所修饰的成员也能被该类的所有子类继承下来。(注意:这里是指同一个package或者不同的package中的子类都能访问)
定义:default是默认的,即在成员的前面不写任何的访问修饰符的时候就是默认修饰符。
作用域:同一package中的所有类都能访问。被default所修饰的成员只能被该类所在同一个package中的子类所继承下来。(也就是说只有在同一个package中的子类才能访问到父类中default修饰的成员)
定义:private是私有的,即只能在当前类中被访问到,它的作用域最小。
原文:https://www.cnblogs.com/heyblog/p/15088478.html