Java基础 -- private, protected, public

本文详细解释了Java中public、protected、default和private四个权限修饰符的作用范围,并通过实例对比了protected与default的区别。

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

本文说一下这三个常用关键字

根据权限由大到小是 public, protected, dedfault, private。

public:公共的,项目中的任何一个接口,类,异常都可以访问。

protected:一个包里的兄弟,或者一个包里的儿子访问。代码亲测。

private:只能自己或者自己的内部类访问。

default:有时候也称为friendly,针对本包访问而设计,任何处于本包的类,接口,异常都可以互相访问。

defalut与 protected的区别目前未知。因为别处都说protected是为同包里面的兄弟,和儿子 可见,即使这个儿子是外部包的,而default是专门同包里面的可见。但是我用代码试了一下发现并非如此,对于protected,其他包的子类照样不能访问。如下所示:

关系结构:OtherPackageSon 是 Me的子类,但是是在别的包下面。


Me里面有这么几个成员变量:


但是再看看OtherPackageSon里面的代码,就能看出来不同了:



所以事实证明,protected 并不如像网上所说的那么精准,什么同一个包下,和其子类。。但事实上,如果这个子类不跟父类一个包的话,照样不行。 那么这样的话,protected 与 default之间的关系,就更不清不楚了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2579所以然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值