1.优先使用String s = "str"; 而不是 String s = new String("str");
2.考虑用静态工厂方法替代构造器,静态工厂方法优于构造器 Boolean.valueOf(String)
3.多个构造器时考虑使用构建器(Builder模式)
4.避免创建不必要的对象,例如局部变量用静态变量代替(但是要考虑线程安全问题)
5.优先使用基本类型而不是装箱基本类型,避免无意识的装箱
6.在类自己管理内存时(栈),注意内存泄漏问题
7.避免使用终结方法finalizer,因为它是不可预料的
8.重写equals方法时要注意判断对象是否为null,和判断对象的类型
9.重写equals方法后必须重写hashCode方法,否则散列的集合将无法正常工作
10.始终覆盖toString方法
11.注意信息隐藏,使类和成员的可访问性最小化
12.复合优于继承
13.接口优于抽象类,用模板方法(骨架实现)来结合抽象类和接口的优点 abstract class A implements Face
14.接口不应该用于定义常量
15.面向接口和抽象类编程可以让程序结构更加清晰
16.优先考虑静态内部类
17.列表优于数组(泛型支持)
18.对可恢复的情况使用受检查异常,对编程错误使用运行异常
1万+

被折叠的 条评论
为什么被折叠?



