1. Object 类
1.1 为什么所有类都继承 Object 类?
在 Java 中,Object 类是所有类的根类。也就是说,所有的类(包括用户自定义的类)都直接或间接继承自 Object 类。这是因为在 Java 中,Object 是所有类层次结构的最顶端类。
为什么所有类都继承 Object 类?
- 统一的根基:Java 为了实现统一性,决定所有类都直接或间接继承自 Object 类。这意味着每个类都可以拥有 Object 类的一些通用方法,这样使得不同类型的对象可以被处理得更加一致。
- 常用方法:Object 类提供了一些常用方法,这些方法被所有类继承。比如:这些方法大多数类都会使用,或者根据需要进行重写,以便提供不同的行为。
- toString():返回对象的字符串表示。
- equals(Object obj):判断两个对象是否相等。
- hashCode():返回对象的哈希码。
- clone():创建并返回当前对象的副本。
- getClass():返回对象的类信息。
- notify(), notifyAll(), wait():用于多线程编程。
- 多态性和泛型:Java 中的多态性和泛型常常依赖于 Object 类。例如,在方法中接受一个 Object 类型的参数,就可以传入任何类型的对象。而且通过 Object 类的方法,可以对不同类型的对象进行统一的操作。
1.2 统一操作–举例
- toString() 方法
toString() 方法是 Object 类提供的一个方法,默认返回对象的类名加上对象的哈希码的字符串表示。但是你可以在自己的类中重写这个方法,使其返回更具意义的信息。
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + "}";
}
}
class Car {
String brand;
String model;
Car(String brand, String model) {
this.brand = brand;
this.model = model;
}
@Override
public String toString() {
return "Car{brand='" + brand + "', model='" + model + ;
}
}
{
{
(, );
(, );
System.out.println(person.toString());
System.out.println(car.toString());
}
}



