1.访问权限种类
Java中总共有四种访问权限
public
protected
default(默认)
private
访问权限 | 类 | 包 | 子类 | 其他包 |
---|---|---|---|---|
public | √ | √ | √ | √ |
protect | √ | √ | √ | × |
default | √ | √ | × | × |
public | √ | × | × | × |
(1)public:意为公有的。Java中权限最宽的修饰符,被该修饰符修饰的 类/属性/方法 允许跨包访问、跨类访问。用通俗易懂的话来说,就是在哪都可以调用。
(2)protected:意为保护的。是一种权限在public&private之间的一种修饰符。被该修饰符修饰的 属性/方法 ,被子类继承后该成员对这一子类意外的任何代码都变成私有的;当包外子类调用父类的protected成员时,只能用super调用,不能用实例直接引用。包内实例的调用与public相同。
(3)private:意为私有的。Java中权限最高的修饰符。被该修饰符修饰的 方法/属性 只能在当前类中访问。实例想要使用该方法,只能通过封装(set改变数值/get获取数值)后,对该属性/方法进行操作。
(4)default:即 方法/属性 前没有修饰符,通常又被成为“包访问权限”/“默认权限”。此时只允许该方法/属性在本包使用。打个比方,如果把局部变量比一个默认属性的方法,那么该方法就相当于 一个包的局部变量
其中private和protected不能修饰一般类,但可以修饰内部类。