类的私有成员方法、final成员字段、永恒类(String)

一般来讲把类的实例字段直接暴露出去认为是一个很危险的行为,我们常常使用private的修饰符来防止这样的危险。而对于方法则有不同的处理方式:

1. 暴露给用户的接口方法:所暴露的接口方法是该类向外提供的所有的功能的集合。

2. 定义为Private的私有方法:

  2.1:该类的暴露给用户的,或者说外类并不关注的、然而其需要为现有的接口方法提供支持。一些底层的实现方法(外部的调用接口方法的类并不关心其实现的方式

  2.2:某些方法在使用的过程中,如果不按照某些规则使用将会造成错误。必须进行对外的隐藏。(特殊要求的方法代码,不满足该条件的,会带来问题的方法。如必须按照一定的调用顺序

3. 定义为Private私有方法带来的益处:

  3.1:由于所有的私有方法可以保证在该类的外部都没有对该方法的引用,当我们需要修改我们的Private方法时,可以忽略该类之外的所有代码。只需保证本类的代码实现

  3.2:假设由于修改了底层的设计,那么对于某些私有方法可以丢弃的,可以直接丢弃,而public方法却需要考虑到外部类可能有其引用的情况

  3.3:减轻了使用本类的学习负担,将有干扰的方法都进行剔除

4. final instance field: 对于基本类型和Immutable类才是常量,而对于Mutable类看起来仍然是可以变化

Immutable类:类中的所有的方法都无法修改类对象。

  4.1: 对于基本类型:尤其变量是真正存储变量的内容,所以给基本类型加上final的修饰,将会比较符合语境

  4.2: 对于Immutable类,由于其类中的所有方法都无法修改其类对象,加之对应的对象变量被final限定,那么实际的结果也是内容无法发生改变。比如:String.

  4.3: 对于Mutable类,我们的final的限定仅仅是表明,我们的对象变量无法引用到新的对象,无法保证类对象本身不发生内容上的变化。比如:Date

posted @ 2012-09-24 20:59  papertiger  阅读(447)  评论(0编辑  收藏  举报