码迷,mamicode.com
首页 > 编程语言 > 详细

Java 多态

时间:2019-10-02 16:23:00      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:ima   修改   能力   报错   作用   16px   程序设计   强制   好的   

多态是同一个行为具有多个不同表现形式或形态的能力。

1、多态:多种状态,同一个方法,多种结果;

父类引用实际上指向的是哪个子类对象,就调用哪个子类重写过的方法;

父类引用只能调用子类重写过的方法,不能调用子类独有的方法。

多态只是方法的多态,属性没有多态;

2、多态的必要条件:

A)继承;

B)重写;

C)多态之前,本类类型的引用指向本类对象。多态之后,父类引用指向子类对象;

3、多态的作用:

A)代码灵活、美观、可读性高、避免代码重复;

B)使程序具有良好的可扩展性,程序设计开闭原则:对扩展开发,对修改关闭;

4、多态的使用:

A)用父类引用作为方法的形参,去接收不同的子类对象;特点:节省代码,减少方法重载的数量,提高代码的可维护性;

B)用父类类型作为方法的返回值类型,来返回不同的子类对象;

5、多态的转型:

A)向上转型:

自动转型,把子类引用转成父类引用; Animal dog = new Dog();

B)向下转型:

1、强制转换,把父类引用转成子类引用:Dog dog = (Dog)dog;

2、一定要转成dog所代表的实际对象的类型,否则会报错;Cat cat = (Cat)dog;报错

3、为了避免强转异常,在强转之前判断一下,父类引用指向的是哪个子类对象;

InstanceoOf 关键字:

例:dog instanceOf Cat : 引用变量dog所代表的实际类型是Cat吗?

1、对象名(dog)所代表的编译类型(Animal)和类名或者接口名是继承数的上下级关系,所以,编译不会报错;

Java 多态

标签:ima   修改   能力   报错   作用   16px   程序设计   强制   好的   

原文地址:https://www.cnblogs.com/zhangze-lifetime/p/11597460.html

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