java.lang.Object类,这是所有Java类的默认Superclass超类。
以下是superclass在Java中的主要作用:
1. 代码重用
- 继承属性和方法:子类可以继承超类的属性和方法,从而避免重复编写相同的代码。
- 扩展功能:子类可以在继承的基础上添加新的属性和方法,或者重写超类的方法以实现不同的行为。
2. 多态性
- 方法重写:子类可以提供一个与超类中同名的方法实现,这称为方法重写(Override)。这使得在运行时可以根据对象的实际类型来调用相应的方法。
- 接口实现:类可以实现一个或多个接口,接口中的方法默认是抽象的,实现类必须提供这些方法的具体实现。
3. 封装和组织
- 层次结构:通过超类和子类的关系,可以构建出清晰的类层次结构,有助于代码的组织和管理。
- 访问控制:超类可以定义不同级别的访问权限(public, protected, private),子类只能访问其超类中允许访问的成员。
4. 构造函数调用
- 初始化顺序:当创建子类的实例时,首先会调用超类的构造函数来初始化超类的部分,然后再执行子类自己的构造函数。
示例
// 定义一个超类
class Animal {
    protected String name;
    public Animal(String name) {
        this.name = name;
    }
    public void makeSound() {
        System.out.println("Some generic animal sound");
    }
}
// 定义一个子类,继承自动物类
class Dog extends Animal {
    public Dog(String name) {
        super(name); // 调用超类的构造函数
    }
    @Override
    public void makeSound() {
        System.out.println("Woof woof");
    }
    public void fetch() {
        System.out.println(name + " is fetching the ball");
    }
}
public class Main {
    public static void main(String[] args) {
        Dog myDog = new Dog("Buddy");
        myDog.makeSound(); // 输出: Woof woof
        myDog.fetch();     // 输出: Buddy is fetching the ball
    }
}