- 对象克隆:public Object clone() throws CloneNotSupportedException;
克隆对象所在的类一定要实现java.lang.Cloneable接口,而且子类只需要继续调用Object类的clone()方法就可以成功实现克隆的操作;
- 对象输出:public String toString();
直接输出对象时会默认调用toString()方法;源代码print方法
public void print(Object obj){
write(String.valueOf(obj));
}
java.lang
public static String valueOf(Object obj){
return (obj == null)? "null" : obj.toString(); //注意这里的toString方法
}
但是,又为什么会调用toString方法?因为源代码中print输出对象的时候会调用String.valueOf()方法,而String.valueOf()方法里面会调用toString方法。
- 对象比较: public boolean equals(Object obj);
当我们保存set集合时,会依靠hashCode()和equals()判断是否为重复对象,会隐式调用
- 取得对象的hash码:public int hashCode();
可以理解为每一个类对象的唯一编码;比较时,会判断编码是否相同,而后在调用equals比较内容
- 取得Class类对象:public Class<?> getClass();
通过一个已经实例化好的对象进行对象的反射操作。
- 线程的等待:public void wait() InterceptorException;
执行到此代码时线程要等待执行,一直到执行notify(),notifyAll()方法后唤醒。
- 唤醒第一个等待线程:public void notify();
- 唤醒全部等待线程:public void notifyAll();
- 垃圾回收前释放:public void finalize() throws Throwable;
当使用gc回收无用垃圾空间时默认调用。