面向对象特征之多态性
Posted zengblogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象特征之多态性相关的知识,希望对你有一定的参考价值。
多态含义:
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 }
以上是关于面向对象特征之多态性的主要内容,如果未能解决你的问题,请参考以下文章