Object是所有类的“爸爸”
- 初步介绍Object
在Java语言中有继承的概念,但是跟c语言不同,Java的继承是单继承,并且当一个类不写任何继承关系的时候,他会默认继承Object,而且就算是你写了继承关系,你所继承的类最终也是要继承Object,所以才说他是所有类的“爸爸”。 - Object中的方法
- hashCode():将对象在内存中的地址经过计算得到一个int类型的整数。
public native int hashCode();
- equals():用来比较两个对象的内容,在Object中默认效果是==(想知道==和equals()的所有用法请查看二者用法及区别),在这里比较的是地址,如果想要比较别的可以重写此方法。
public boolean equals(Object obj) {
return (this == obj);
}
- toString():打印输出时将对象变成String字符串。
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
- getClass():获取对象对应类的类映射(反射技术)
public final native Class<?> getClass();
- wait():线程进入挂起等待状态,存在方法重载。
public final void wait() throws InterruptedException {
wait(0);
}
- notify():线程唤醒。
public final native void notify();
- notifyAll():唤醒所有线程。
public final native void notifyAll();
- finalize():权限修饰符是protected,在对象被GC回收时,默认调用执行的方法。(注意final、finally、finalize区别,请参见三者用法及区别)
protected void finalize() throws Throwable { }
- clone():克隆实例的副本,想用的时候需要实现一个接口
protected native Object clone() throws CloneNotSupportedException;