java语言类成员的访问方式_javaSE_8系列博客——Java语言的特性(三)--类和对象(12)--类成员的访问控制...

访问级别修饰符确定其他类是否可以使用特定字段或调用特定方法。有两个级别的访问控制:

在最高级别(类的级别) - public或包private(没有显式修饰符)。

在成员级别,public,private,protected或package-private(没有显式修饰符)。

可以使用修饰符public声明一个类,在这种情况下,该类对所有类都可见。如果一个类没有修饰符(默认值,也称为package-private),它只在其自己的package中可见(package被命名为相关类的组 - 您将在以后的课程中了解它们。)

在成员级别,您也可以使用public modifier或者没有修饰符(package-private),就像最高级别(类级别)一样,具有相同的含义。对于成员,还有两个附加的访问修饰符:private和protected。private修饰符指定该成员只能在其自己的类中访问。protected修饰符指定该成员只能在其自己的包中进行访问(与package-private一样),另外还可以通过这个类在另一个包中的子类进行访问。 下表显示了对每个修饰符允许的成员的访问限制。

0818b9ca8b590ca3270a3433284dd417.png

第一个数据列指示类本身是否可以访问由访问级别定义的成员。正如你所看到的,类总是可以访问自己的成员。

第二列表示与类相同的包中的类是否可以访问该成员。

第三列指示在该包之外声明的类的子类是否可以访问该成员。

第四列表示是否所有类均可访问该成员。

访问级别以两种方式影响您。首先,当您使用来自其他来源(例如Java平台中的类)的类时,访问级别决定您自己的类可以使用哪些类的成员。其次,当你写一个类时,你需要决定什么访问级别每个成员变量和你的类中的每个方法都应该有。 我们来看一下类的集合,看看访问级别如何影响可见性。下图显示了该示例中的四个类以及它们是如何相关的。

0818b9ca8b590ca3270a3433284dd417.png

下表显示了Alpha类的成员对于可应用于它们的每个访问修饰符都可见的位置。

0818b9ca8b590ca3270a3433284dd417.png

小结:(如何确定访问级别?)

如果其他程序员使用您的class,您希望确保误用之类的错误不会发生。访问级别可以帮助您。

使用对特定成员有意义的限制最大的访问级别。使用private,除非你有一个很好的理由不使用它。

避免public字段,除了常量。 (本教程中的许多示例使用公共字段,这可能有助于简要说明一些要点,但不建议在生产上使用这样的代码。)公共字段往往将您链接到特定实现,并限制您更改代码的灵活性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值