在Java中,所有的类都直接或者间接继承了java.lang.Object类。
Object类是所有类的父类,是java类层中的最高类层。
当创建一个类时,总是在继承,除非某个类已经指定要从其他类继承,否则它就是从java.lang.Object类继承而来的。
由于所有的类(包括自定义的类)都是Object类的子类,所以在定义类时,省略了extends Object关键字。
在Object类中主要包括clone()、finalize()、equals()、toString()等方法,其中常用的两个方法为equals()和toString()方法。
由于所有的类(包括自定义的类)都是Object类的子类,所以任何类都可以重写Object类中的方法。
Object类中的getClass()、notify()、notifyAll()、wait()等方法不能被重写,因为这些方法被定义为final类型。
*Object类中的几个重要方法
1、getClass()方法
getClass()方法是Object类定义的方法,它会返回对象执行时的Class实例,然后使用此实例调用getName()方法可以取得类的名称。
package Number;
public class Person {
public static void main(String[] args) {
Person person=new Person();
System.out.println(person.getClass().getName());//Number.Person
}
}
2、toString()方法
toString()方法是将一个对象返回为字符串形式,它会返回一个String实例。在实际的应用中通常重写toString()方法,为对象提供一个特定的输出模式。
package Number;
public class A {
public String toString() {
return "在"+getClass().getName()+"类中重写toString()方法";
}
public static void main(String[] args) {
System.out.println(new A());//在Number.A类中重写toString()方法
}
}
3、equals()方法
“==”运算符比较的是两个对象的引用是否相等,而equals()方法比较的是两个对象的实际内容。