基于类的访问权限

方法可以访问所调用对象的私有数据。

一个方法可以访问所属类的所有对象的私有数据,

这令很多人感到奇怪! 例如, 下面看一下用来比较两个雇员的 equals 方法。

public boolean equals(Employee other)

{

return name.equals(other.name); }

典型的调用方式是
if (harry,equals(boss))

C++ 注释: C++ 也有同样的原则。方法可以访问所属类的私有特性(feature), 而不仅限 于访问隐式参数的私有特性

私有方法

在实现一个类时, 由于公有数据非常危险, 所以应该将所有的数据域都设置为私有的。然 而, 方法又应该如何设计呢? 尽管绝大多数方法都被设计为公有的, 但在某些特殊情况下, 也 可能将它们设计为私有的。有时, 可能希望将一个计算代码划分成若干个独立的辅助方法。通 常, 这些辅助方法不应该成为公有接口的一部分, 这是由于它们往往与当前的实现机制非常紧 密, 或者需要一个特别的协议以及一个特别的调用次序。最好将这样的方法设计为 private 的。

在 Java 中, 为了实现一个私有的方法, 只需将关键字 public 改为 private 即可。

对于私有方法, 如果改用其他方法实现相应的操作, 则不必保留原有的方法。 如果数据 的表达方式发生了变化, 这个方法可能会变得难以实现, 或者不再需要。 然而, 只要方法是 私有的, 类的设计者就可以确信: 它不会被外部的其他类操作调用, 可以将其删去。 如果方 法是公有的, 就不能将其删去, 因为其他的代码很可能依赖它。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值