参数和返回类型也可以多态

Posted snc199x

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了参数和返回类型也可以多态相关的知识,希望对你有一定的参考价值。

 1 class Animala{
 2     void makeNoise(){
 3         System.out.println("动物在嘶吼");
 4     }
 5 }
 6 class Dogs extends Animala{
 7     void makeNoise(){ //重写
 8         System.out.println("狗的叫声是汪汪汪");
 9     }
10 }
11 class Cat extends Animala{
12     void makeNoise(){
13         System.out.println("猫的叫声是喵呜呜呜呜");
14     }
15 }
16 class Vet{
17     public void giveShot(Animala a){
18         a.makeNoise();
19     }
20 }
21 public class Canshufanhui {
22     void start(){
23         Vet v = new Vet();
24         Dogs d = new Dogs();
25         Cat c = new Cat();
26         v.giveShot(d); //giveshot接受的是animala类型的参数,Dogs继承自animala,利用了参数多态
27         v.giveShot(c);
28     }
29     public static void main(String[] args){
30         Canshufanhui p = new Canshufanhui();
31         p.start();
32     }
33 
34 }

技术分享

以上是关于参数和返回类型也可以多态的主要内容,如果未能解决你的问题,请参考以下文章

封装继承和多态,重写重载等基础复习

java编程思想第八章多态

Java编程思想(20170816)

java的重载和重写

instanceof 操作符 接口 多态

15-多态