Object类的方法一览

    技术2024-12-12  17

    Object类的方法

    //所属包 package java.lang; //经常提起的类,所有类的超类,默认方法如下 public class Object { //本地方法,干嘛的?当该类被加载的时候,调用该方法完成对该类中本地方法的注册 private static native void registerNatives(); //静态代码块去执行本地方法 static { registerNatives(); } //又是本地方法,返回此 Object 的运行时类。返回的 Class 对象是由所表示类的 static synchronized 方 法锁定的对象。如果A继承于B,想要从A中得到B.class,可以用 this.getClass().getSuperClass() public final native Class<?> getClass(); //hashcode方法 public native int hashCode(); //equals方法实际上就是== public boolean equals(Object obj) { return (this == obj); } //clone方法,感觉就像python的浅拷贝一样 protected native Object clone() throws CloneNotSupportedException; //获得该类名字,包括包名,+hash值? public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } //线程操作的几个方法,唤醒,等待 //随机选一个叫醒线程的wait状态 public final native void notify(); //解除所有那些在该对象上调用wait方法的线程的阻塞状态。 public final native void notifyAll(); public final native void wait(long timeout) throws InterruptedException; 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 > 0) { timeout++; } wait(timeout); } public final void wait() throws InterruptedException { wait(0); } //建议JVM垃圾回收的方法,但是只是建议,未必执行垃圾回收,感觉没用 protected void finalize() throws Throwable { } }
    Processed: 0.062, SQL: 9