外贸婚纱网站 侵权,国内网站不备案可以吗,wordpress 后台密码错误,镇赉县做网站的前言Java 中的 Object 方法在面试中是一个非常高频的点#xff0c;毕竟 Object 是所有类的“老祖宗”。Java 中所有的类都有一个共同的祖先 Object 类#xff0c;子类都会继承所有 Object 类中的 public 方法。先看下 Object 的类结构(快捷键#xff1a;alt7)#xff1a;1.…前言Java 中的 Object 方法在面试中是一个非常高频的点毕竟 Object 是所有类的“老祖宗”。Java 中所有的类都有一个共同的祖先 Object 类子类都会继承所有 Object 类中的 public 方法。先看下 Object 的类结构(快捷键alt7)1. getClass 方法public final native Class getClass();复制代码final 方法、获取对象的运行时 class 对象class 对象就是描述对象所属类的对象。这个方法通常是和 Java 反射机制搭配使用的。2. hashCode 方法public native int hashCode();复制代码该方法主要用于获取对象的散列值。Object 中该方法默认返回的是对象的堆内存地址。3. equals 方法public boolean equals(Object obj) { return (this obj);}复制代码该方法用于比较两个对象如果这两个对象引用指向的是同一个对象那么返回 true否则返回 false。一般 equals 和 是不一样的但是在 Object 中两者是一样的。子类一般都要重写这个方法。4. clone 方法protected native Object clone() throws CloneNotSupportedException;复制代码该方法是保护方法实现对象的浅复制只有实现了 Cloneable 接口才可以调用该方法否则抛出 CloneNotSupportedException 异常。默认的 clone 方法是浅拷贝。所谓浅拷贝指的是对象内属性引用的对象只会拷贝引用地址而不会将引用的对象重新分配内存。深拷贝则是会连引用的对象也重新创建。5. toString 方法public String toString() {return getClass().getName() Integer.toHexString(hashCode());}复制代码返回一个 String 对象一般子类都有覆盖。默认返回格式如下对象的 class 名称 hashCode 的十六进制字符串。6. notify 方法public final native void notify();复制代码final 方法主要用于唤醒在该对象上等待的某个线程。7. notifyAll 方法public final native void notifyAll();复制代码final 方法主要用于唤醒在该对象上等待的所有线程。8. wait(long timeout) 方法public final native void wait(long timeout) throws InterruptedException;复制代码wait 方法就是使当前线程等待该对象的锁当前线程必须是该对象的拥有者也就是具有该对象的锁。wait() 方法一直等待直到获得锁或者被中断。wait(long timeout) 设定一个超时间隔如果在规定时间内没有获得锁就返回。9. wait(long timeout, int nanos) 方法public final void wait(long timeout, int nanos) throws InterruptedException {if (timeout 0) {throw new IllegalArgumentException(timeout value is negative);}if (nanos 0 || nanos 999999) {throw new IllegalArgumentException(nanosecond timeout value out of range);}if (nanos 500000 || (nanos ! 0 timeout 0)) {timeout;}wait(timeout);}复制代码参数说明timeout最大等待时间(毫秒)nanos附加时间在毫秒范围(0-999999)该方法导致当前线程等待直到其他线程调用此对象的 notify() 方法或notifyAll()方法或在指定已经过去的时间。此方法类似于 wait 方法的一个参数但它允许更好地控制的时间等待一个通知放弃之前的量。实时量以毫微秒计算计算公式如下1000000 * timeout nanos复制代码在所有其他方面这种方法与 wait(long timeout) 做同样的事情。特别是 wait(0, 0) 表示和 wait(0) 相同。10. wait 方法public final void wait() throws InterruptedException { wait(0);}复制代码可以看到 wait() 方法实际上调用的是 wait(long timeout) 方法只不过 timeout 为 0即不等待。11. finalize 方法protected void finalize() throws Throwable { }复制代码该方法是保护方法主要用于在 GC 的时候再次被调用如果我们实现了这个方法对象可能在这个方法中再次复活从而避免被 GC 回收。最后欢迎大家关注我的公众号【程序员追风】文章都会在里面更新整理的资料也会放在里面。