Object常用方法

public class Object {
    public Object() {
    }

    private static native void registerNatives();

    public final native Class<?> getClass();
//下面讲解一下 这两个
    public native int hashCode();
    //这里可以看到  是对地址进行的比较,但是String Integer Math等进行了重写 是比较的内容
    public boolean equals(Object var1) {
        return this == var1;
    }
//是深复制 
    protected native Object clone() throws CloneNotSupportedException;

    public String toString() {
        return this.getClass().getName() + "@" + Integer.toHexString(this.hashCode());
    }

    public final native void notify();

    public final native void notifyAll();


//被调用之后,线程会一直等待,知道本对象调用notify或者notifyAll

    public final native void wait(long var1) throws InterruptedException;
//调用之后,当等待时间结束或者被唤醒时会结束等待
    public final void wait(long var1, int var3) throws InterruptedException {
        ……
    }
    public final void wait() throws InterruptedException {
        this.wait(0L);
    }

    protected void finalize() throws Throwable {
    }

    static {
        registerNatives();
    }
}

hashcode equals

  • hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。

  • 当equals()被override时,hashcode也要被override。
    来看看官方的说明

  • 相等的对象,hashcode一定相等

  • 两个对象的hashcode,他们不一定相同

    • 想一下hashmap为什么会有链表,不就是因为这个吗
      clone

浅复制 只是复制了引用 指向同一个对象

Person p = new Person(23, "zhang");
        Person p1 = p;
        
        System.out.println(p);
        System.out.println(p1);
result
*.Person@2f9ee1ac
*.Person@2f9ee1ac

深复制 复制了一个新的对象

Person p = new Person(23, "zhang");
        Person p1 = (Person) p.clone();
Result
.Person@2f9ee1ac
.Person@.Person@2f9ee1ac
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 9,122评论 0 11
  • Object类是一个特殊的类,是所有类的父类,是java中唯一没有父类的类,如果一个类没有用extends明确指出...
    水欣阅读 5,161评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,929评论 18 399
  • 现在我在老家工作,但是总觉得心里空落落的。总是觉得缺少了当初的那份激情,如何才能重新收拾心情重新出发呢?现在的...
    林小小Amy阅读 871评论 0 0
  • 不消停: 多做家务不吃亏 大多家庭里,男人做的家务活儿明显少于女性。很多男人饭后就坐在沙发上看电视,收拾碗筷干家务...
    绿瘦女人阅读 4,738评论 0 0