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

「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分,我们不见不散!

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

能力有限,欢迎指教!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值