class Vehicle {
public int numWheels;
public Vehicle(int wheels){
[Link] = wheels;
}
public void move(){
[Link]("Vehicle is moving.");
}
}
class Car extends Vehicle{
public int numDoors;
public Car(int wheels, int doors){
super(wheels);
[Link] = doors;
}
public void move(){
[Link]("Car is moving.");
}
public void honk(){
[Link]("Beep beep");
}
}
public class Main {
public static void main(String[] args) {
Vehicle v = new Vehicle(4);
[Link]();
[Link](" | Wheels: " + [Link]);
[Link]();
Car c = new Car(4, 2);
[Link]();
[Link]();
[Link]("Doors: " + [Link]);
[Link]("Wheels: " + [Link]);
[Link]();
// Polymorphism example
Vehicle v2 = new Car(4, 4);
[Link](); // runs Car's move() because of overriding
[Link]("Wheels: " + [Link]);
}
}