public interface Flyable {
public abstract void takeoff();
public abstract void land();
public abstract void fly();
}
public abstract class Vehicle {
}
public class AirPlane extends Vehicle implements Flyable{
public void takeoff() {
System.out.println("Plane takeoff.");
}
public void land() {
System.out.println("Plane land.");
}
public void fly() {
System.out.println("Plane flying");
}
}
public abstract class Animal {
public abstract void eat();
}
public class Bird extends Animal implements Flyable{
public void takeoff() {
System.out.println("Bird takeoff.");
}
public void land() {
System.out.println("Bird land");
}
public void fly() {
System.out.println("Bird flying.");
}
public void eat() {
System.out.println("Bird eating.");
}
public void buildNest() {
System.out.println("Bird building nest.");
}
public void layEggs() {
System.out.println("Bird laying eggs.");
}
}
public class Superman extends Animal implements Flyable{
public void takeoff() {
System.out.println("Superman takeoff.");
}
public void land() {
System.out.println("Superman land.");
}
public void fly() {
System.out.println("Superman flying.");
}
public void eat() {
System.out.println("Superman eating.");
}
public void leapBuilding() {
System.out.println("Superman leap building.");
}
public void stopBullet() {
System.out.println("Superman stop bullet.");
}
}
public class PolymorphismDemo {
public static void main(String[] args) {
Flyable plane = new AirPlane();
plane.takeoff();
plane.fly();
Flyable bird = new Bird();
bird.fly();
}
}