1 Public classTestanimal {2 Public Static voidMain (string[] args) {3Testanimal T =Newtestanimal ();4T.func (NewAnimal ());5T.func (NewDog ());6 7T.func (NewCat ());8 9 }Ten Public voidFunc (Animal a) {//Animal a = new Dog (); One a.eat (); A a.jump (); - - if(AinstanceofDog) { theDog d =(Dog) A; - D.wang (); - } - if(AinstanceofCat) { +Cat C =(Cat) A; - c.catchmouse (); + } A } at //Public void func (Dog a) { - //a.eat (); - //a.jump (); - // } - } - classanimal{ in String name; - intAge ; to + Public voideat () { -System.out.println ("Eating"); the } * Public voidJump () { $System.out.println ("Jump");Panax Notoginseng } - } the classDogextendsanimal{ + Public voideat () { ASystem.out.println ("Dog Feeding"); the } + Public voidJump () { -System.out.println ("Cornered"); $ } $ - Public voidWang () { -System.out.println ("Barking"); the } - }Wuyi the classCatextendsanimal{ - Public voideat () { WuSystem.out.println ("Cat Eats fish"); - } About Public voidJump () { $System.out.println ("Cat jumping"); - } - Public voidCatchmouse () { -System.out.println ("The Cat catches the mouse"); A } +}
Java Learning-an example of polymorphic use