Object类

Object类概述
Object类是所有类的父类,即每个类都直接或简介继承自该类,所以一个Object类型的变量可以引用任何对象
在不明确给出父类的情况下,Java会自动把Object作为要定义类的父类。
Object类有一个默认构造方法public Object(),在构造子类实例时,都会先调用这个默认构造方法。
Object方法
1、getClass()

public final native Class<?> getClass();

getClass()返回一个Class对象。常用于反射。

2、hashCode()

public native int hashCode();

该方法用来返回其所在对象的物理地址(哈希码值),常会和equals方法同时重写,确保相等的两个对象相等。

3、equals(Object obj)

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

该方法用于比较对象是否相等,而且此方法必须被重写。
4、clone()

protected native Object clone() throws CloneNotSupportedException;

clone()函数的用途是用来克隆一个当前存在的对象。浅拷贝。

5、toString()

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

该方法在打印对象时被调用,将对象信息变为字符串返回,默认输出对象地址。
6、notify()

  public final native void notify();

用于唤醒一个在此对象监视器上等待的线程。
7、notifyAll()

 public final native void notifyAll();

notifyAll()用于唤醒所有在此对象监视器上等待的线程。
8、wait(long timeout)

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

设定下一次获取锁的距离当前释放锁的时间间隔
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 > 0) {
            timeout++;
        }

        wait(timeout);
    }

10、wait()

public final void wait() throws InterruptedException {
        wait(0);
    }

wait()用于让当前线程失去操作权限,当前线程进入等待序列
11、finalize()

protected void finalize() throws Throwable { }

当一个堆空间中的对象没有被栈空间变量指向的时候,这个对象会等待被java回收

上一篇:linux(第二集)使用DockerFile 构建nginx镜像


下一篇:设置mySQl的wait_timeout参数 设置不生效的问题