解释Object类之中的所有方法以及每一个方法使用上的注意事项

  • 对象克隆: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回收无用垃圾空间时默认调用。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值