Java中的public,protected和private之间有什么区别?

我们为什么在乎

修改Java访问时,一般规则是仅使用必要的最低访问级别。 为什么? 这个想法是尽可能地封装系统的每一部分。 这样,您可以保护自己和他人免受可能对系统其他部分产生连锁反应的重构的影响。 因此,如果您想允许其他人使用您的BuzzingBees方法,但又希望能够在闲暇时修改BeautifulButterflies,则可以锁定对蝴蝶的访问权限。 您应该能够优化自己的代码,而不会破坏其他代码。 因此,通常您想从私有开始并从那里开始。

那么我们如何决定呢? 按从最小私有到最大私有的顺序:

Public(最简单的修饰符)将使对象的访问范围最广。 模块中的所有内容都可以看到公开的内容。 所有类都可以访问它。 如果我是一个王国的女王,我的城堡将足够大,每个人都可以看到。 任何人都可以走到前门,并要求通过桥进入城堡。 他们甚至可以漫步在周围的花园中。 但是未经许可,他们将无法进入大厅或城堡的任何内容。

受保护的访问权限比公共访问权限少,从而使该成员在整个同一包或任何子类中的类可见。 这是包作用域和子作用域-可能是最混乱的访问级别。 如果您想做一些本不应该公开的内部事情,但仍打算继承该类并可能被子类覆盖,则授予受保护的访问权限。 如果要将纯粹的访问权限从私有更改为受保护,请尝试证明其功能不打算被覆盖。 如果一位举着与我相同的家族徽章在旗帜上的贵族或女士要来我城堡的大门,他们将被立即允许进入。 他们可以随意进出大厅。

如果没有修饰符(默认),则可以在同一包中的所有类中访问成员。 这是包范围。 我家的携带rest的成员可以在城堡内,但是只有像女王之母这样的较高阶成员被授予特殊特权,他们才可以进入图书馆或与地下城的守卫说话。

private修饰符将成员访问限制为仅对该特定类。 这也称为类作用域。 这是一个很好的起点。 要了解原因,请注意将访问权限从私有更改为受保护将不会是一个突破性的更改,但相反的做法可能是这样。 尝试从此处开始,并在必要时添加访问权限。 以我们的类比,这座城堡并不完全向我的亲戚开放。 例如,我绝对不允许母亲进入藏宝室。

因此,请记住喝大量的水,睡前洗脸,并使用Java代码中必需的最低访问权限。

修饰符类包子类世界上市✅✅✅✅受保护的✅✅✅❌没有修饰符✅✅❌❌私人的✅❌❌❌

from: https://dev.to//amandasopkin/what-is-the-difference-between-public-protected-and-private-in-java-9lj

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值