第03章 面向对象 38 对象转型2

来源:互联网 发布:c语言的架构 编辑:程序博客网 时间:2024/05/22 02:08
//TestCastingOne.javaclass Animal {public String name;Animal(String name) {this.name = name;}}class Cat extends Animal {public String eyesColor;Cat(String n, String c) {super(n);this.eyesColor = c;}}class Dog extends Animal {public String furColor;Dog(String n, String c) {super(n);this.furColor = c;}}public class TestCastingOne {public static void main(String args[]) {TestCastingOne t = new TestCastingOne();Animal a = new Animal("name");Cat c = new Cat("catname", "blue");Dog d = new Dog("dogname", "black");t.f(a);t.f(c);t.f(d);}public void f(Animal a) {System.out.println("name: " + a.name);if(a instanceof Cat) {Cat cat = (Cat)a;System.out.println(" " + cat.eyesColor + " eyes");} else if(a instanceof Dog) {Dog dog = (Dog)a;System.out.println(" " + dog.furColor + " fur");}}}

鱼欲遇雨:每日都学习一点,持之以恒,天道酬勤!不能用电脑时,提前补上!(2012.9.6改)


原创粉丝点击