栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【java】多态性

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【java】多态性

什么是多态性?

对象的多态性:父类的引用指向子类的对象。

person p = new Man();

【父类】       【子类】

男人只是人的一种,所以人是父类,男人是子类。但是不存在继承关系的两件事物不可以。比如说,人不可以是大黄(一条狗)的父类。

当通过变量名去调用父类中同名同参数的方法时,编译时认为调用的是父类中声明的方法。实际运行时,运行的是子类重写的方法。

子类和父类

一个子类只可以有一个直接父类,一个父类可以有任意个子类。

直接父类的父类,叫做间接父类,也是父类。

子类可以获取父类中private的权限和方法。

多态存在的三个条件

·必须要有继承或者实现的关系

·必须要有要有方法重写

· 必须要有父类引用指向子类对象

        ·upcasting向上转型:将子类对象直接赋值给父类引用

                ·向上转型不需要强制类型转换

                ·向上转型猴父类不能太调用自己的子类方法

                ·父类引用或调用的是子类的方法

        ·downcasting向下转型:将指向子类对象的父类引用赋值给子类引用

                ·需要强制类型转换

                ·如果引用的是指向的子类对象那么在向下转型的过程中是安全的,即编译不会出错。

                ·如果父类引用的对象是父类本身,在向下转型过程中是不安全的,运行会出错。【可以通过instanceof来避免】

多态成员的访问特点 成员变量

        编译看父类,运行看父类

成员方法

        编译看父类,运行看子类

多态的作用

        消除了类之间的耦合关系,大大提高了程序的可扩展性和维护性。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/643512.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号