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。
把猫叫动物后没法调用猫的方法,记得强转它为猫。
时间: 2024-12-28 05:05:12