Object(超类)
Object是所有类的爸爸
声明一个类的时候,默认是继承了Object
public class Hero extends Object
toString()
Object类提供一个toString()方法,所以所有的类都有toString方法
toString()的意思是返回当前对象的字符串表达
通过System.out.println打印对象就是打印该对象的toString()返回值
public class Hero{
public String name;
protected float hp;
public String toString(){
return 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调用的。
equals()
equals() 用于判断两个对象的内容是否相同
它与 == 不同,是判断两个对象的地址是否相同,在常数里面,一般常量相同的变量它们地址也相同;堆的话用一般不适用
==
这不是Object的方法,但是用于判断两个对象是否相同
更准确的讲,用于判断两个引用,是否指向了同一个对象
hashCode()
hashCode方法返回一个对象的哈希值,但是在了解哈希值的意义之前,讲解这个方法没有意义。
线程同步相关方法
Object还提供线程同步相关方法
wait()
notify()
notifyAll()
这部分内容的理解需要建立在对线程安全有足够的理解的基础之上,所以会被放在线程交互的章节讲
getClass()
getClass()会返回一个对象的类对象,属于高级内容,不适合初学者过早接触,关于类对象的详细内容请参考反射机制