📜  使用构造函数分配和初始化超类成员的Java程序(1)

📅  最后修改于: 2023-12-03 14:49:55.695000             🧑  作者: Mango

使用构造函数分配和初始化超类成员的Java程序

在Java中,当我们需要实现一个包含继承关系的类时,可以使用构造函数来分配并初始化超类中的成员。

一个简单的示例程序:

class Vehicle {
    protected int numOfWheels;
    
    public Vehicle(int numOfWheels) {
        this.numOfWheels = numOfWheels;
    }
    
    public void printNumOfWheels() {
        System.out.println("This vehicle has " + numOfWheels + " wheels");
    }
}

class Car extends Vehicle {
    private String brand;
    
    public Car(int numOfWheels, String brand) {
        super(numOfWheels);
        this.brand = brand;
    }
    
    public void printBrand() {
        System.out.println("The brand of this car is " + brand);
    }
}

public class Main {
    public static void main(String[] args) {
        Car myCar = new Car(4, "Toyota");
        myCar.printNumOfWheels();
        myCar.printBrand();
    }
}

在上面的示例程序中,我们定义了一个Vehicle类和一个继承自Vehicle类的Car类。

在Vehicle类中,我们定义了一个受保护的成员变量numOfWheels和一个公有的构造函数,构造函数接收一个表示车轮数量的整型参数并将其分配给numOfWheels成员变量。此外,我们还定义了一个public方法printNumOfWheels,用于打印车轮数量的信息。

在Car类中,我们定义了一个私有变量brand和一个公有构造函数。构造函数接收两个参数,一个表示车轮数量的整型参数和一个表示车品牌的字符串参数。在构造函数中,我们调用超类Vehicle的构造函数并将车轮数量传递给它。然后我们将传递进来的车品牌分配给brand成员变量。此外,我们还定义了一个public方法printBrand,用于打印车品牌信息。

在程序的main函数中,我们创建了一个Car对象并传递了4个车轮和"Toyota"作为参数。然后我们调用了myCar的printNumOfWheels和printBrand方法,分别打印了车轮数量和车品牌信息。

通过这个示例,我们可以看到如何使用构造函数来分配并初始化超类中的成员。同时,在子类的构造函数中,我们还可以对自己的成员变量进行初始化。