码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象特征之多态性

时间:2020-01-06 23:18:07      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:继承   替代   数据类型   关系   code   注意   ati   一个   his   

多态含义:

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 }

面向对象特征之多态性

标签:继承   替代   数据类型   关系   code   注意   ati   一个   his   

原文地址:https://www.cnblogs.com/ZengBlogs/p/12158592.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!