Java常用类(一)Object类
Object类是所有Java类的根基类,也就意味着所有的Java对象都拥有Object类的属性和方法。
Object类通常被称之为超类,基类或根类
当定义一个类时,如果没有使用extends关键字为这个类显示地指定父类,那么该类就会默认继承Object类
Object类常用方法:
String toString()返回该对象的字符串表示,下面是重写了的toString方法
Object的toString()方法:
所以得到结果:
boolean equals(Object obj)判断某个对象和此对象是否相等
注意:"=="代表比较双方是否相同。如果是基本类型则表示值相等,如果是引用类型则表示地址相等即是同一个对象。equals方法定义“对象内容”是否相等。
由于所有的类都是继承自java.lang.Object类的,所以适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object
中的equals方法返回的却是"=="的判断。
Object的equals方法:
我们重写equlas方法,这时我们也重写hashCode方法,保证两个对象拥有相同的哈希值
得到结果:
Class<?> getClass()返回此Object的运行时类
结果:
void finalize() 垃圾回收器调用此方法来清理没有被任何引用变量所引用对象的资源
void wait() 是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。“直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法”,当前线程被唤醒(进入“就绪状态”)
void wait(long timeout) 让当前线程处于“等待(阻塞)状态”,“直到其他线程调用此对象的notify()方法或 notifyAll() 方法,或者超过指定的时间量”,当前线程被唤醒进入"就绪状态"
void notify() 唤醒一个在此对象监视器上等待的线程
void notifyAll() 唤醒在此对象监视器上等待的所有线程