基础 | Java的四大访问修饰符

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bingbeichen/article/details/83588665

「Java中四大访问修饰符」 的相关问题在面试的时候很少被问到,但还是需要足够理解。相信大家对public、private和默认的修饰符都比较了解,用的也比较多,但你真的了解protected修饰符吗?

建议重点关注Java中 「protected权限修饰符」 的相关问题。


Java中四大访问修饰符

Java中的访问控制主要分四种级别,如下表:

修饰符 当前类 同包 子类 其他包
public
protected ×
default × ×
private × × ×

注意:Java中外部类的修饰只能是public或默认,类的成员(包括内部类)的修饰可以是以上四种。


在项目中的哪些地方用到过protected?

相信这个问题,会把部分人搞蒙掉。说实话,我在项目中也没怎么用到过,在此仅做抛砖引玉用,大家有更好的回答欢迎留言哈。

参考答案:

受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有。我在项目中确实没怎么使用过,但我知道有一种场景比较适合使用protected修饰符。

Object类中对clone方法的声明即用到了protected访问修饰符,这是因为Object类的clone方法只能实现浅克隆,而并不能实现常使用的深克隆,这就要求子类在需要克隆对象时尽量重写clone方法,此时即声明为protected的,以保证在需要克隆对象时,必须要求待克隆对象所在的类实现Cloneable接口并重写clone方法。

该场景比较抽象,建议好好阅读下深拷贝与浅拷贝


推荐阅读


欢迎关注

Java名企面试吧,每天10点24分,我们不见不散!

丙子先生的宗旨是,每天以短篇幅讲高频面试题,不增加太多负担,但需要持之以恒。

能力有限,欢迎指教!

猜你喜欢

转载自blog.csdn.net/bingbeichen/article/details/83588665