Object类是所有类的父类
声明一个类的时候,默认是继承了Objectpublic class Person extends Object
toString()
Object类提供一个toString方法,所以所有的类都有toString方法toString()的意思是返回当前对象的字符串表达
通过 System.out.println 打印对象就是打印该对象的toString()返回值
finalize()
当一个对象没有任何引用指向的时候,它就满足垃圾回收的条件当它被垃圾回收的时候,它的finalize() 方法就会被调用。
finalize() 不是开发人员主动调用的方法,而是由虚拟机JVM调用的。
public class Hero {
public String name;
protected float hp;
public String toString(){
return name;
}
public void finalize(){
System.out.println("这个英雄正在被回收");
}
public static void main(String [] args){
//只有一个引用
Hero hero;
/**
* 不断生成新的对象
* 每创建一个对象,前一个对象就没有引用指向了
* 那些对象就满足垃圾回收的条件
* 当垃圾堆积得比较多的时候,就会触发垃圾回收
* 一旦这个对象被回收的时候,就会调用finalize方法。
*/
for (int i=0;i<1000000;++i){
hero = new Hero();
}
}
}
equals()
equals() 用于判断两个对象的内容是否相同假设,当两个英雄的hp相同的时候,我们就认为这两个英雄相同
public boolean equals(Object object){
if(object instanceof Hero){
Hero hero = (Hero)object;
return this.hp == hero.hp;
}
return false;
}
==
这不是Object的方法,但是用于判断两个对象是否相同更准确的讲,用于判断两个引用,是否指向了同一个对象
hashCode()
hashCode方法返回一个对象的哈希值
线程同步相关方法
Object还提供线程同步相关方法wait()
notify()
notifyAll()