概述

Java Object 类是所有类的父类,也就是说 Java 的所有类都继承了 Object,子类可以使用 Object 的所有方法

序号 方法 & 描述
1 protected Object clone()
创建并返回一个对象的拷贝
2 boolean equals(Object obj)
比较两个对象是否相等
3 protected void finalize()
当 GC (垃圾回收器)确定不存在对该对象的有更多引用时,由对象的垃圾回收器调用此方法。
4 Class<?> getClass()
获取对象的运行时对象的类
5 int hashCode()
获取对象的 hash 值
6 void notify()
唤醒在该对象上等待的某个线程
7 void notifyAll()
唤醒在该对象上等待的所有线程
8 String toString()
返回对象的字符串表示形式
9 void wait()
让当前线程进入等待状态。直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。
10 void wait(long timeout)
让当前线程处于等待(阻塞)状态,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过参数设置的timeout超时时间。
11 void wait(long timeout, int nanos)
与 wait(long timeout) 方法类似,多了一个 nanos 参数,这个参数表示额外时间(以纳秒为单位,范围是 0-999999)。 所以超时的时间还需要加上 nanos 纳秒

方法

getClass

  1. import java.util.ArrayList;
  2. class RunoobTest {
  3. public static void main(String[] args) {
  4. // getClass() with Object
  5. Object obj1 = new Object();
  6. System.out.println("obj1 的类为: " + obj1.getClass());
  7. // getClass() with String
  8. String obj2 = new String();
  9. System.out.println("obj2 的类为: " + obj2.getClass());
  10. // getClass() with ArrayList
  11. ArrayList<Integer> obj3 = new ArrayList<>();
  12. System.out.println("obj3 的类为: " + obj3.getClass());
  13. }
  14. }

以上程序执行结果为:

  1. obj1 的类为: class java.lang.Object
  2. obj2 的类为: class java.lang.String
  3. obj3 的类为: class java.util.ArrayList