java基础-访问控制符protected

本文深入探讨Java中public, private, protected及default修饰符的区别与应用。重点解析protected修饰符的作用,即允许子类访问的同时限制外部直接调用,保持类的封装性和扩展性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大部分开发可能写代码的时候都用到了public,private ,然而我们一开始学习java的时候其实介绍了public,private,protected,default。

然后protected就可能就认识一下就过了,并没有用到。所以,我特意写下这个笔记提醒一下自己。

public:

具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。

protected:

主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西

default:

有时候也称为friendly,它是针对本包访问而设计的,任何处于本包下的类、接口、异常等,都可以相互访问,即使是父类没有用protected修饰的成员也可以。

private:

访问权限仅限于类的内部,是一种封装的体现,例如,大多数成员变量都是修饰符为private的,它们不希望被其他任何外部的类访问。

上图告诉了我们protected能被类内部,本包和子类使用。

然后这里就有一个疑问了?那到底什么时候用到protected呢?

这是ArrayList的一个protected方法,removeRange,作用在于移除[fromIndex,toIndex)之间元素,然后ArrayList的clear方法就是内用调用这个方法清除所有的元素,看到这里我们开始明白protected这样用是因为开发希望有个方法能让其内部使用或者子类使用,且该方法还不被外部知道,让ArrayList只暴露出基本的功能方法,外部调用不能调用此内部方法,保持外部方法的简洁性。

 

 

总结:protected方法的存在是希望有一个内部方法被该类或该类的子类使用(子类可以基于集成调用此内部方法),外部不应也不能知道该方法,因为有可能滥用导致问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值