1.所有类的父类。
Object类提供一个toString方法,所以所有的类都有toString方法
toString()的意思是返回当前对象的字符串表达
通过 System.out.println 打印对象就是打印该对象的toString()返回值
package object;
public class Hero {
public String name;
protected float hp;
@Override
public String toString() {
return "Hero{" +
"name='" + name + '\'' +
'}';
}
public static void main(String[] args) {
Hero h=new Hero();
h.name="巴啦啦";
System.out.println(h.toString());
System.out.println(h);
}
}

finalize()方法
当一个对象没有任何引用指向的时候,它就满足垃圾回收的条件
当它被垃圾回收的时候,它的finalize() 方法就会被调用。
finalize() 不是开发人员主动调用的方法,而是由虚拟机JVM调用的。
package object;
public class Hero1 {
public String name;
protected float hp;
@Override
public String toString() {
return "Hero1{" +
"name='" + name + '\'' +
'}';
}
@Override
protected void finalize() throws Throwable {
System.out.println("这个英雄正在被回收");
}
public static void main(String[] args) {
//只有一引用
Hero1 h;
for (int i = 0; i <1000000 ; i++) {
//不断生成新的对象
//每创建一个对象,前一个对象,就没有引用指向了
//那些对象,就满足垃圾回收的条件
//当,垃圾堆积的比较多的时候,就会触发垃圾回收
//一旦这个对象被回收,它的finalize()方法就会被调用
h = new Hero1();
}
}
}

equals()
equals() 用于判断两个对象的内容是否相同
假设,当两个英雄的hp相同的时候,我们就认为这两个英雄相同。
该假设是错误的。
package object;
public class Hero2 {
public String name;
protected float hp;
public static void main(String[] args) {
Hero2 hero2=new Hero2();
hero2.hp=200;
Hero2 hero3=new Hero2();
hero3.hp=200;
System.out.println(hero2.equals(hero3));
}
}
这不是Object的方法,但是用于判断两个对象是否相同
更准确的讲,用于判断两个引用,是否指向了同一个对象。
package object;
public class Hero2 {
public String name;
protected float hp;
public static void main(String[] args) {
Hero2 hero2=new Hero2();
hero2.hp=200;
Hero2 hero3=new Hero2();
hero3.hp=200;
// System.out.println(hero2.equals(hero3));
System.out.println(hero2==hero3);
}
}






