1) clone(): 返回这个对象的一个副本。
2) equals(Object obj):
public boolean equals(Object obj) {
//①首先判断是不是同一个对象
if (this == obj) {
return true;
}
//②其次判断是不是属于同一个类
if (obj != null && Person.class == obj.getClass()) {
// 如果final修饰了Person类,那么Person.class == obj.getClass()也可以改为obj instanceOf Person。可以参考String源码的equals()方法。
//③最后强制转换后,判断是否具有相同id
Person personObj = (Person) obj;
if (this.getId() == personObj.getId()) {
return true;
}
}
return false;
}
3) finalize(): 不要主动调用这个方法,这个方法交给垃圾回收机制调用;该方法何时被调用,是否会被调用具有不确定性;执行该方法时出现异常,垃圾回收机制不会报告异常,程序继续执行。
4) getClass():
5) hashcode():如果equals()返回true,那么hashCode()的值也应该相等,反之亦然。如果equals()返回true,如果equals()返回true,那么hashCode()的值也应该相等hashCode()的值不相等,就会在集合对象中存储多个内容重复的对象。如果hashCode()的值相等,但是equals()返回false,就会在存储内容不同的对象时发生地址冲突。
6) notify():
7) notifyAll():
8) toString(): 这个方法返回一个字符串:getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
9) wait():
10) wait(long timeout):
11) wait(long timeout, int nanos):