其实完全没有必要,因为如果obj==null,下一行的
if (obj instanceof Type)
就肯定返回false,因为(null instanceof AnyType) = false。
详细内容请参考《Effective Java》第7条:Obey the general contract when overriding equals。
其他的方法如toString()就更简单了,只要稍微熟悉java的程序员相信都能写出来,我就不多说了。
★ 总结 ★
1.如果一个类只有有限的几种状态,考虑用几个final的静态变量来表示不同状态的实例。
例如编写一个Weekday类,状态只有7个,就不要让用户写new Weekday(1),直接提供Weekday.MONDAY即可。
2.要防止用户使用new生成实例,就取消public构造函数,用户要获得静态实例的引用有两个方法:如果申明public static var就可以直接访问,比如Boolean.TRUE,
第二个方法是通过静态工厂方法:Boolean.valueOf(?)
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/