Java.lang.Object 类是类层次结构的根或超类,存在于java.lang软件包中。所有预定义的类和用户定义的类都是Object 类的子类。
每个对象都有11通用属性,每个Java开发人员都必须实现这些属性。
为了减轻开发人员的负担,SUN通过使用11种方法实现所有这11属性,开发了一个名为Object的类。
所有这些方法都具有所有子类通用的通用逻辑,如果该逻辑不满足子类要求,则子类可以覆盖它
为了实现运行时多态性,以便我们可以编写一个方法来接收和发送任何类型的类对象作为参数和返回类型。
公共布尔等于(Object obj)
公共诠释 hashcode()
公开决赛 getClass()
公共字符串 toString()
受保护的对象clone()
抛出CloneNotSupportedException
受保护的空finalize()
投掷
notify()
公共 final void wait()
引发InterruptedException
notify()
指定的时间量公共 final void 等待(长时间超时)引发InterruptedException
notify()
指定的时间量公共 final void 等待(长超时,int nano)抛出InterruptedException
公众 final void notify()
公众 final void notifyAll()
class Thing extends Object implements Cloneable { public String id; public Object clone() throws CloneNotSupportedException { return super.clone(); } public boolean equals(Object obj) { boolean result = false; if ((obj!=null) && obj instanceof Thing) { Thing t = (Thing) obj; if (id.equals(t.id)) result = true; } return result; } public int hashCode() { return id.hashCode(); } public String toString() { return "This is: "+id; } } public class Test { public static void main(String args[]) throws Exception { Thing t1 = new Thing(), t2; t1.id = "Raj"; t2 = t1; // t1 == t2 and t1.equals(t2) t2 = (Thing) t1.clone(); // t2!=t1 but t1.equals(t2) t2.id = "Adithya"; // t2!=t1 and !t1.equals(t2) Object obj = t2; System.out.println(obj); //Thing = Adithya } }
输出结果
This is: Adithya