1.面向接口编程,而非实现类
2.优先考虑使用复用,然后是继承
3.恰当时机使用静态方法代替构造方法(一般使用于工具类)
好处:可以使代码起到顾名思义作用
可以提高效率,不需要创建对象
4.偏爱不可变性(如String BigDecimal)
不可变性:创建之初已经决定,生命期间不能更改。
5.将class及其成员进行最小化存取(即public protected private使用)
6.interface 只应当被用来定义型别
7.消除过期的对象引用,以防内存泄露
如,ArrayList 里面的代码
elementData[--size] = null; // Let gc do its work
2.优先考虑使用复用,然后是继承
3.恰当时机使用静态方法代替构造方法(一般使用于工具类)
好处:可以使代码起到顾名思义作用
可以提高效率,不需要创建对象
4.偏爱不可变性(如String BigDecimal)
不可变性:创建之初已经决定,生命期间不能更改。
5.将class及其成员进行最小化存取(即public protected private使用)
6.interface 只应当被用来定义型别
7.消除过期的对象引用,以防内存泄露
如,ArrayList 里面的代码
elementData[--size] = null; // Let gc do its work