多态含义:
1.在同一个方法中,这种由于参数类型不同而导致执行效果各异的现象。
2.在Java中,子类的对象可以替代父类的对象使用。
➢一个变量只能有一种确定的数据类型
➢一个引用类型变量可能指向(引用)多种不同类型的对象
多态作用:
提高了代码的通用性,常称作接口重用。
注意事项:
1.需要存在继承或者实现关系。
2.在Java程序中有成员方法的重写。
3.成员变量不具备多态性,只看引用变量所声明的类。
成员方法:
1.编译时:要查看引用变量所声明的类中是否有所调用的方法。
2.运行时:调用实际new的对象所属的类中的重写方法。
1 interface Animal{ //定义接口Anmal
2 void shout() ; //定义抽象shout()方法
3 }
4
5 //定义cat类实现Animal接口
6 class Cat implements Animal {
7 //实现shout()方法
8 public void shout() {
9 System.out.println("喵喵喵");
10 }
11 }
12
13 //定义Dog类实现Animal接口
14 class Dog implements Anlmal {
15 //实现shout()方法
16 public void shout() {
17 Syatem.out.println("汪汪汪");
18 }
19 }
20
21 //定义测试类
22 public class Polymorphism {
23 public static void main(String[] args) {
24 //创建Cat对象,使用Animal类型的变量an1引用
25 Animal anl = new Cat();
26 //创建Dog对象,使用Animal类型的变量an2引用
27 Animal an2 = new Dog();
28 //调用animalShout()方法,将anl作为参数传人
29 animalShout(anl);
30 //调用animalShout()方法,将an2作为参数传人
31 animalShout(an2);
32 }
33 //定义静态的animalShout()方法,接收-个Animal类型的参数
34 public static void animalShout (Animal an) {
35 an.shout(); //调用实际参数的shout()方法
36 }
37 }
来源:https://www.cnblogs.com/ZengBlogs/p/12158592.html