在Java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维护性及可扩展性,那么实现多态的步骤包括以下几个方面除了( )。A:子类重写父类的方法B:子类重载同一个方法C:定义方法时,把父类类型作为参数类型;调用方法时,把父类或子类的对象作为参 数传入方法D:运行时,根据实际创建的对象类型动态决定使用哪个方法这题无法理解,重载到底是不是多态的一种体现呢,多态的体现到底是哪些表现形式?请大神们帮我把4个答案都解答下,谢谢,顺便说一下你们对于多态的理解~
3 回答
已采纳
大咪
TA贡献785条经验 获得超332个赞
A:子类重写父类的方法
重写是继承关系,只有当子类继承父类时并且想改动父类的方法才会发生重写。 比如说狗继承了动物类,动物类下有吃的方法,然后狗想把吃的方法改成吃骨头,这时调用重新, 当然子类可继承父类中的方法,也可以不用重新编写相同的方法。方法多态性的体现是继承和重载。
B:子类重载同一个方法
重载就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。 调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法,这是多态的特性。
C:定义方法时,把父类类型作为参数类型;调用方法时,把父类或子类的对象作为参 数传入方法
调用方法时候既然可以将子类对象作为参数传参。应该是对象多态。
D:运行时,根据实际创建的对象类型动态决定使用哪个方法
这个我猜的,题目说了根据对象类型动态决定使用方法,所以意味着应该是这个和多态没关系啊- -
以上纯手打。。。望采纳!赚积分。。。还有最后答案是什么啊?
阿旭_
TA贡献217条经验 获得超353个赞
答案是除了C,多态调用方法优先子类,子类没有声明才会调用父类的方法。
1、分开看:方法名(当前类名的方法名)与方法体(new出来的是对应的方法体)要分开看。
2、子带父:创建一个子类的实例,那么相当于连带的创建了父类的实例。
例:Father mm = new Child();//Child 是 Father的子类。
那么 mm.出来的东西,只能是Father中的方法名,但是方法体的实例确是Child中的同名方法体
添加回答
举报
0/150
提交
取消