博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java.lang.Object
阅读量:6763 次
发布时间:2019-06-26

本文共 2466 字,大约阅读时间需要 8 分钟。

  hot3.png

 

java.lang.Object作为所有类的基础类,java默认所有类都是Object的子类

静态块

static {        registerNatives();    }

 

属性:

 

 

native方法:

静态方法:
private static native void registerNatives();

1、获取类名

public final native Class
 getClass();

2、获取hashCode,不同对象实例具有相同的hashCode,Object类的hashCode()方法返回这个对象存储的内存地址的编号。

public native int hashCode();

3、equals方法:判断对象是否是同一个对象

public boolean equals(Object obj) {    return (this == obj);}

4、clone方法,复制对象

protected native Object clone() throws CloneNotSupportedException;

 

6、线程唤醒

public final native void notify();public final native void notifyAll();

    

7、线程等待

public final native void wait(long timeout) throws InterruptedException;

8、finalize方法,垃圾回收时调用方法

protected void finalize() throws Throwable { }

9、toString()

public String toString() {        return getClass().getName() + "@" + Integer.toHexString(hashCode());}
public class ThreadF { public static void main(String[] args) { final Object object = new Object();        Thread t1 = new Thread() {            public void run()            {                synchronized (object) {                    System.out.println("T1 start!");                    try {                        object.wait();                    } catch (InterruptedException e) {                        e.printStackTrace();                    }                    System.out.println("T1 end!");                }            }        };        Thread t2 = new Thread() {            public void run()            {                synchronized (object) {                    System.out.println("T2 start!");                    object.notify();                    System.out.println("T2 end!");                }            }        };        Thread t3 = new Thread() {         public void run()         {          synchronized (object) {           System.out.println("T3 start!");           object.notify();           System.out.println("T3 end!");          }         }        };        Thread t4 = new Thread() {            public void run()            {                synchronized (object) {                    System.out.println("T4 start!");                    try {                        object.wait();                    } catch (InterruptedException e) {                        e.printStackTrace();                    }                    System.out.println("T4 end!");                }            }        };        t1.start();        t2.start();        t3.start();        t4.start();       }}

 

 

转载于:https://my.oschina.net/caiz/blog/494931

你可能感兴趣的文章