在Java中,所有的类都直接或者间接继承了 java.lang.Object 类。
由于所有的类都是Object类的子类,所以任何子类都可以重写Object类的方法。
Object类中的 getClass(),notify(), notifyAll(), wait() 等方法不能重写,因为被定义为 final 类型。
Object类的常用方法:
getClass()----返回对象执行时的Class实例。
用法:
getClass().getName();
toString()---将一个对象返回为字符串的形式,实际应用中经常重写,为对象提供一个特定的输出模式。
public class ObjectInstance { public String toString(){ return "在" + getClass().getName() + "类中重写toString()方法"; } public static void main(String args[]){ System.out.println(new ObjectInstance()); }}/*-------------------------------------------------------------------F:\Javacode>java ObjectInstance在ObjectInstance类中重写toString()方法F:\Javacode>---------------------------------------*/
equals()----默认比较的是两个对象的引用地址,要实现对象内容的比较需要重写equals()方法。
class V { }public class OverWriteEquals { public static void main(String args[]) { String s1 = "123"; String s2 = "123"; System.out.println(s1.equals(s2)); V v1 = new V(); V v2 = new V(); System.out.println(v1.equals(v2)); }}/*------------------------------F:\Javacode>java OverWriteEqualstruefalseF:\Javacode>------------------*/