什么是object类
Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
在不明确给出超类的情况下,Java会自动把Object作为要定义类的超类。
可以使用类型为Object的变量指向任意类型的对象。
Object类有一个默认构造方法pubilc Object(),在构造子类实例时,都会先调用这个默认构造方法。
Object类的变量只能用作各种值的通用持有者。要对他们进行任何专门的操作,都需要知道它们的原始类型并进行类型转换。例如:
Object obj = new MyObject();
MyObject x = (MyObject)obj;
方法列表如下
Object()
默认构造方法
protected Object clone()
保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常.
boolean equals(Object obj)
用于比较两个对象的引用地址是否相等,子类一般需要重写该方法.
protected void finalize()
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法.
Class getClass()
返回此对象运行时的类型.
int hashCode()
返回该对象的哈希码值,重写了equals方法一般都要重写hashCode方法.这个方法在一些具有哈希功能的Collection中用到.
void notify()
唤醒在此对象监视器上等待的单个线程.
void notifyAll()
唤醒在此对象监视器上等待的所有线程.
String toString()
返回该对象的字符串表示.类都有重写,否则打印句柄.
void wait()
在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。