用友的一道java笔试题(多态,Override)

 

 

public class test { /** * @param args */ public static void main(String[] args) { Animal a = new Dog(); a.syaHi(); Animal b = new Bulldog(); b.syaHi(); Dog dog = (Dog)b; dog.syaHi(); check(dog); Bulldog bulldog = (Bulldog)b; check(bulldog); } public static void check(Dog dog) { System.out.println("check dog"+dog.getName()+"."); } public static void check(Bulldog bulldog) { System.out.println("check bulldog"+bulldog.getName()+"."); } } interface Animal { void syaHi(); String getName(); } class Dog implements Animal { public String getName() { return "Bob"; } private String bark() { return "wang-wang"; } public void syaHi() { System.out.println("I am "+getName()+"."+bark()); } } class Bulldog extends Dog { @Override public String getName(){return "Mike";} private String bark(){return "WOO-WOO";} }

有机会最好运行一下。

你可能感兴趣的:(用友的一道java笔试题(多态,Override))