标签:
public class testpolymorphism { public static void main(String[] args) { animal a = new cat(); testVoice(a); //testVoice(new cat()); } public static void testVoice(animal a){ a.voice(); if(a instanceof cat){ ((cat)a).catchmouse(); } } } class animal { String name; public void voice(){ System.out.println("aaaaa"); } } class cat extends animal{ public void voice(){ System.out.println("nya"); } public void catchmouse(){ System.out.println("抓"); } } class dog extends animal{ public void voice(){ System.out.println("wang"); } }
nya
抓
一只猫可以叫它动物,传一只动物参数可以传一只猫,判断这只动物是啥用instanceof。
把猫叫动物后没法调用猫的方法,记得强转它为猫。
标签:
原文地址:http://www.cnblogs.com/cydcn/p/4490765.html