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

Java初学:多态

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

Java初学:多态

一个对象的实际类型是确定的,例如图中的

Student和Person类型

这里举例时Person类为父类,Student类为子类。

1.父类可以指向子,但是不能调用子类独有的方法

如图中,s2为子类,s1为父类,eat方法为子类Student里独有的方法3,尽管子类继承了父类,但是最后调用的时候,只能调用到子类,不能调用父类。

2.如果子类重写了父类的方法,那么执行子类的方法。

图中

 这是父类的say方法,最后输出的是run,而如果在子类中用alt+insert重写(override method)了父类的run方法,

这里为了方便区分,我们在子类中重写方法时选择重新输入yes,最后调用子类和父类中的say方法,

可以看到最终输出的都是yes马,因此可以得出结论:当子类重写父类的方法时,执行的都是子类中重写的方法。 

 3.子类中能调用的方法要么是自己的方法,要么是继承的父类的方法

4.父类虽然能指向子类,但是不能调用子类独有的方法

注意事项:1.多态是方法的多态,不是属性的多态

                  2.类型强制转换的话一定要有父子类之间的关系才能进行转换,如举例中的Studenr类和Person类为Student作为子类继承了父类Person类,当有类似这样的联系时才可以进行转换。

                  3.多态存在的条件:(1)要有继承关系  (2)方法要进行重写,父类引用指向子类对象,例如父类为Father为父类,son为子类,就是Father s1 = new Son(); 

**不能重写的方法:1.static方法,它属于类,不属于实例

                                2.被final修饰的,是在常量池里

                                3.private方法,private方法是私有的,无法被重写     

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

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

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