美文网首页对象java基础
聪聪工作室---关于Java--object的11个方法函数

聪聪工作室---关于Java--object的11个方法函数

作者: 繁花流水congcong | 来源:发表于2016-07-30 14:51 被阅读38次

    object是java中所有类的默认父类,里面有11个默认方法。意即所有的类都会默认继承11个方法。1.public final Class<?ectends Object> getClass()返回一个运行时的类
    2.public int hashCode()返回对象的哈希码;
    3.public Boolean equals(Object o)比较对象是否相等;
    4.protect Object clone()返回对象的副本;要声明实现Clonable,要有异常处理,只能在其子类或类内用;当克隆一份对象时,其对象属性只是克隆了一份指向另一个对象的地址值;
    5.public String toString()返回对象的字符串表示;打印一个对象默认调用其默认toString()方法;
    6.public final void notify()唤醒在此对象监视器上等待的单个线程;
    7.public final void notifyAll()唤醒在此对象监视器上的所有线程;
    8.protected void finalize()当垃圾回收器确定不存在对该对象的更多引用时,调用此方法回收对象;
    9.public final void wait(long timeout)导致当前线程等待,直到其他线程调用此对象的notify()或notifyAll()方法或时间超时;
    10.public final void wait(long timeout, int nanos)或其他线程中断当前线程,或超过实际时间:1000000*timeout+nanos;
    11.public final void wait()导致当前线程等待,直到其他线程调用此对象的notify()或notifyAll()方法;
    在这里11个方法中最常用的方法是hashCode()和equals()方法。hashCode()方法就像是给一堆人不同的房间编码,然后equals()方法就是给每个人唯一的一个身份标识。这两个方法是用来方便给对象分配内存进行管理的,就像是管理一批货品,先给他们分配一些不同的仓库进行分别的存储,然后找到他们时就可以先按他们的仓库编号找到存储他们的仓库,寻找效率便能大大提高。由于仓库号可以相同,而身份标识唯一,所以当equals()相同,hashCode()必然相同。 这里还要注意一下clone()只是浅复制,即若属性是个对象类型则只得到一个地址值,若要深度复制则只能自己另行复制。

    相关文章

      网友评论

        本文标题:聪聪工作室---关于Java--object的11个方法函数

        本文链接:https://www.haomeiwen.com/subject/czhtsttx.html