Fork me on GitHub

多态

Posted on 2019-09-03 18:06  攀一座山  阅读(121)  评论(0编辑  收藏  举报

1、多态的形式:

父类的类型  变量 = 子类的对象;

//变形形式1
父类的类型的元素 = 子类的对象;

//变形形式2
父类的类型的形参 被赋予 子类的对象

2、多态的前提

(1)继承

(2)多态引用

(3)重写

 

3、多态的表现

(1)编译时按照父类编译,运行时按照子类处理。

(2)只能调用父类拥有的方法,不能调用子类特有的扩展的方法

(3)如果调用父类拥有的方法时,执行的时候是执行子类“重写”的方法。

 

4、多态的应用

(1)多态的数组

父类类型[] arr = new 父类类型[长度];

arr[i] = 子类的对象;

数组的元素类型是父类的,实际存储的是子类的对象;

 

(2)多态的参数

【修饰符】 返回值类型 方法名(父类的类型 形参名)

形参是父类的类型,调用方法时传入的实参是子类的对象

 

5、面向对象的3个基本特征:

(1)封装:安全、方便

(2)继承:代码的复用和扩展

(3)多态:使得功能更灵活,可以使用父类类型的变量可以统一管理它的子类对象们

 

6、关于面试题的陷阱:

(1)属性

(2)静态方法

没有多态性,只看编译时类型。

Copyright © 2024 攀一座山
Powered by .NET 8.0 on Kubernetes