把Bus类定义到Vehicle类外面,这样运行就对了。
class Car extends Vehicle {
public Car() {
System.out.println("A new Car.");
}
public void drive() {
System.out.println("Car is driven");
}
public static void brake() {
System.out.println("Car is braked");
}
}
class Bus extends Vehicle {
public Bus() {
System.out.println("A new Bus.");
}
public void drive() {
System.out.println("Bus is driven");
}
}
class Vehicle {
public Vehicle() {
System.out.println("A new Vehicle.");
}
public void drive() {
System.out.println("Vehicle is driven");
}
public static void brake() {
System.out.println("Vehicle is braked");}
}
class Test{
public static void main(String[] args){
Vehicle vc = new Car();
Bus vb = new Bus();
}
}
构造方法和普通方法不一样,构造方法在创建对象时候调用,而子类的构造方法中会自动调用父类的构造方法。