Java访问权限修饰词

前言

本文内容参考《Java编程思想(第4版)》

包访问权限

如果不提供任何访问权限修饰词,则意味着它是“包访问权限”。

默认访问权限没有任何关键字,但通常是指包访问权限(有时也表示成为friendly)。

这就意味着当前的包中的所有其他类对那个成员都有访问权限,但对于这个包之外的所有类,这个成员却是 private。

public:接口访问权限

使用关键字 public,就意味着 public 之后紧跟着的成员声明自己对每个人都是可用的。

private:你无法访问

关键字 private 的意思是,除了包含该成员的类之外,其他任何类都无法访问这个成员。

由于处于同一个包内的其他类是不可以访问 private 成员的,因此这等于说是自己隔离了自己。

protected:继承访问权限

有时,基类的创建者希望有某个特定成员,把对它的访问权限赋予派生类而不是所有类。这就需要 protected 来完成这一工作。protected 也提供包访问权限,也就是说,相同包的其他类可以访问 protected 元素。

我们先来看一个类:

在这里插入图片描述
如果类 Cookie 中存在一个方法 bite() 的话,那么该方法同时也存在于任何一个从 Cookie 继承而来的类中。但是由于 bite() 有包访问权限而且它位于另一个包内,所以我们在这个包内是无法使用它的。

显然,下面的类是不可以调用拥有包访问权限的成员bite()的:

在这里插入图片描述
当然,也可以把 bite() 指定为 public,但是这样做所有的人就都有了访问权限,而且很可能这并不是你所希望的。如果我们将类 Cookie 像这样加以更改:

在这里插入图片描述
现在 bite() 对于所有继承自 Cookie的类而言,也是可以使用的:

在这里插入图片描述
注意,尽管 bite() 也具有包访问权限,但是它仍旧不是 public 的。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值