Java中的四种访问权限:public、protected、包访问、private

5,055 阅读2分钟

所谓访问权限,指的就是本类中的成员变量、成员方法对其他类的可见性

试想一想,当我们修改一个非常庞大的项目时,如果所有变量和方法都是公共权限,那么后端中任何类都有权限去修改它的变量和方法,很有可能修改后就导致项目无法运行,对客户端的代码就会造成一定的影响

引入访问权限的概念就变得尤为重要

Java中有四种访问权限,分别是public、protected、包访问权限(默认)、private,如果省略了访问修饰符,那默认访问权限为包访问权限。 这四种权限从最大权限最小权限分别是: public > protected > 包访问权限> private

类的成员变量和方法访问权限

放一个看了很久却不一定记住的表:

修饰符 类内部 同包 子类 任何地方
public Yes Yes Yes Yes
protected Yes Yes Yes
包访问权限 Yes Yes
private Yes

包访问权限: 没有任何修饰符的权限就是包访问权限,意味着当前包的所有类都可以访问这个成员,如表中所示,对于本包之外的类,这个成员就变成了private,访问不了

public: 被public修饰的成员对任意一个类都是可用的,任何一个类都可以访问到,通过操作该类的对象随意访问public成员

protected: 在相同的class内部,同一个包内和其他包的子类中能被访问。要理解protected权限,就需要了解继承,因为这个权限处理的就是继承相关的概念,继承而来的子类可以访问public、protected

private: 除了包含这个成员的类之外,所有类都无法访问这个成员,相当于自我封闭,防止其他类改变或删除这个方法

类的访问权限

Java中的访问权限也可以用来修饰类。不过需要注意,对于普通类而言,类的访问权限仅有public包访问权限

· 如果一个类声明的时候用了public,则该类的类名必须与文件名一致,包括大小写,如果不匹配,会有编译错误

· 每个编译单元(文件)都只能有一个public类

· 当然不带public也是可以的,这时可以随时对文件命名

总结

对成员进行访问控制还是非常重要的,可以防止他人触碰那些不该触碰的部分,也可以清楚的了解哪些是重要的,哪些是可以忽略的,简化了对类的理解


需要Html作业、C语言作业、Java课设等学习资料的小伙伴,请关注公众号:Aime菌,后台回复福利即可获取


关注即可提高学习效率!我是Aime菌,下期再见!Peace~