public、private、protected区别:它们三个区别:权限不同。public可以访问所有的类,private只有当前类可以访问,protected当前类和继承它的类都可访问。
1、public 公共权限(接口访问权限):
public表明该数据成员、成员函数堆所有用户开放的,所有用户都可以直接进行调用。
2、private 私有权限(你无法访问):
private 表示私有,除了自己可以使用外,任何人都不可以直接使用,继承也不可以。
3、protected 受保护权限(继承访问权限):
protected介于public和private之间的一种访问修饰符,一般称之为”保护型“。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
4、default 默认权限(包访问权限)
即不加任何访问修饰符。该模式下,只允许在同一个包中进行访问。
访问修饰符 | 同一包中同一类 | 同一包中不同类 | 不同包中的子类 | 不同包中的非子类 |
---|---|---|---|---|
private | √ | |||
default | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |