...
Code Block | ||
---|---|---|
| ||
/* * Polymorphism Late binding */ // Animal class - this is the base class class Animal { public void animalSound() { System.out.println("The animal makes a sound"); } // Regular method public void sleep() { System.out.println("Zzz"); } } //end of Animal Base Class /* ********************************* * Derived Classes *********************************** */ //Subclass (inherit from Animal) //Notice how we define the Abstract method animalSound declared in the super class class Cat extends Animal { public void animalSound() { // The body of animalSound() is provided here System.out.println("The cat says Meow"); } } //end of Cat Class //Subclass (inherit from Animal) class Dog extends Animal { public void animalSound() { // The body of animalSound() is provided here System.out.println("The dog says Woof"); } } //end of Dog class //Subclass (inherit from Animal) class Cow extends Animal { public void animalSound() { // The body of animalSound() is provided here System.out.println("The dog says Moo"); } } /* * ****************************** * Main Program to demo polymorphism * Author Dr. Kevin Roark * ****************************** */ public class Demo5Demo { /** * @param args */ public static void main(String[] args) { Animal myAnimal = new Animal(); // Create a Animal object myAnimal.animalSound(); myAnimal.sleep(); //now create an Animal and make it a Dog Animal myDog = new Dog(); myDog.animalSound(); myDog.sleep(); //now create an Animal and make it a Cat Animal myCat = new Cat(); myCat.animalSound(); myCat.sleep(); Animal myCow = new Cow(); myCow.animalSound(); myCow.sleep(); //demonstration of instanceof if(myCat instanceof Cat) { System.out.println("This is a cat!"); } if(myCat instanceof Animal) { System.out.println("This is a Animal!"); } } } |
...