`
javawebsoa
  • 浏览: 408364 次
社区版块
存档分类
最新评论

Java学习笔记:(13)使类和成员的可访问性最小化

 
阅读更多

尽可能地使每个类或者成员不被外界访问。

对于成员(域、方法、嵌套类和嵌套接口)有四种可能的访问级别,下面按照可访问性的递增顺序罗列出来:

  • 私有的(private)
  • 包级私有的(package-private)
  • 受保护的(protected)
  • 公有的(public)

实例域决不能是公有的。

类具有共有的静态finla舒祖域,或者返回这种域的访问方法,这几乎总是错误的。

修正这个问题有两种方法。可以使共有数组变成私有的,并增加一个共有的不可变列表:

另一种方法是,可以使数组变成私有的,并添加一个共有方法,它返回私有数组的一个备份:

总而言之,你应该始终尽可能地降低可访问性。你在仔细地设计了一个最小的共有API之后,应该防止把任何散乱的类、接口和成员变成API的一部分。除了共有的静态final域的特殊情形之外,共有类都不应该包含公有域。并且要确保公有静态final域所引用的对象都是不可变的。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics