Java访问修饰符public,private,protected以及不写(默认)default的时候区别
public(共有的):
对所有类或者包可见以及被访问
注:如果类像被其他包引入,必须声明为public
使用对象:类,接口,变量和方法
protected(受保护的):
在同一个包的类和多有的子类使用,被protected修饰的方法和属性,在同一个包内可被访问和继承,不在同一包内,子类可以继承,不是子类的不可以访问
注:不能修饰类,外部类
使用对象:变量和方法
default(缺省值):
不写任何关键字和修饰符,在同一个包内的所有类使用或者继承,但是呢,不可以被其他包访问
适用对象:类,接口,方法,变量
private(私有的):
被private修饰的属性和方法,不能被其他类访问,只能在同一个类中使用,子类不能够继承也不能访问.
使用对象:方法和变量
注意:不能修饰类
文字如果看的很懵逼的话,下面直接看表格吧
修饰符 | 当前类 | 同包 | 子类 | 其他包 |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
default | √ | √ | × | × |
private | √ | × | × | × |