Java新手学习笔记---多态

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。

把猫叫动物后没法调用猫的方法,记得强转它为猫。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。