java中关于父类引用指向子类对象,多态性的问题~虚心求教
发布网友
发布时间:2023-07-12 10:40
我来回答
共5个回答
热心网友
时间:2024-02-04 16:20
你这么去理解,用你上面第2点说明,如果父类Parent中有个炒菜的方法,里边是parent炒菜的过程和需要的材料,子类Son重写了父类中的炒菜方法,但是子类炒菜方法与parent完全不同(儿子喜欢另一种炒菜方法),那么在程序中调用p.炒菜方法时,就会调用子类的炒菜方法。
所以多态实现的是:通过父类或接口调用子类或实现类里的重写方法或者实现方法,除非继承的子类没有重写父类任何方法,否则调用的都是子类里边重写的方法
热心网友
时间:2024-02-04 16:20
不知道楼主是想知道有什么区别,还是想知道有什么好处(用处)?
区别就是:Parent p = new Son(),调用的是子类里重写的父类的方法;而Parent p = new Parent()调用的是自己的。
好处就是:你可以不用管子类是怎么实现的,也不用管到底有没有子类,特别是在p作为其他方法参数的时候,如:doSomething(Parent p){
p.xxx
}
当然你也可以说接口、抽象类也可以这么实现,但是各有各的好处,看你具体的应用了。
热心网友
时间:2024-02-04 16:21
是这样的:向上转型(以上定义,父类应用指向子类对象)只是实现多态的一种方式。该方式定义的对象,首先会调用子类的方法,前提是子类有重写;如果没有,则会调用父类方法。
热心网友
时间:2024-02-04 16:21
Parent p = new Son() 假设Son中重写Parent的方法A,这样 p中的A()是Son中的方法;
Parent p = new Parent() 而这样 p中的A() 是Parent中的A()方法。
热心网友
时间:2024-02-04 16:22
比如eat()方法只要在Animal里定义一次就可以了,不需要再每种动物对象里面都定义
java中关于父类引用指向子类对象,多态性的问题~虚心求教
你这么去理解,用你上面第2点说明,如果父类Parent中有个炒菜的方法,里边是parent炒菜的过程和需要的材料,子类Son重写了父类中的炒菜方法,但是子类炒菜方法与parent完全不同(儿子喜欢另一种炒菜方法),那么在程序中调用p.炒菜方法时,就会调用子类的炒菜方法。所以多态实现的是:通过父类或接口调用子类...
JAVA父类引用指向子类的对象是什么意思???
A a = new B() ; 这就称父类的引用a 指向了子类的对象new B(),就是这个意思。
java父类引用指向子类对象
1. Java中的多态性是通过继承和接口实现的。多态允许父类引用指向子类对象,这样可以在运行时根据对象的实际类型来调用相应的方法。2. 在Java中,多态性的实现遵循一个原则:父类引用指向子类对象时,实际调用的是子类中重写的方法。这意味着,子类对象可以调用父类中定义的方法,以及自己独有的方法。3....
父类引用指向子类
本文讲解了Java中的多态性,特别是父类引用指向子类的概念。Java通过单继承和多态性来简化继承关系,避免了C++多继承可能带来的复杂性。多态的核心是理解"向上转型",即一个Animal类型的引用可以指向一个Cat对象,即使Cat是Animal的子类。这样做允许我们利用子类的特性和父类的通用性。通过父类引用调用子类...
java中创建对象时候为什么喜欢用父类引用指向子类实例
构造子类的时候,是会首先构造父类,然后加入子类中的定义的部分 你父类只有一个构造方法,当然会被调用了
父类引用指向子类的问题..郁闷
面向对象的三大特性是继承、多态,封装。实现多态性有三个条件:1)子类覆盖父类的方法;2)实例化子类;3)将子类当作父类来使用。根据你的例子,你可以考虑这样一种情形,学生有研究生(GraduateStudent)和本科生(UnderGraduateStudent)两种,他们都有一个选课(xuanke())的方法,但是选课的过程与步骤是...
java中的一个抽象类,通过"父类引用指向子类对象"的方法,被实例化...
父类的抽象方法是没有语句块的,所以你调用的其实是子类的抽象方法。父类是抽象类,子类继承必须重写父类的抽象方法。否则会报编译错误 //定义一个抽象的父类public abstract class Fu {//抽象方法 public abstract void eat();}//定义一个子类继承父类public class Son extends Fu { //重写...
Java面向对象多态问题 如果有父类对象指向子类 parent p=new chil...
1、首先明确一点:方法重载不属于多态的概念。重载父类方法对于子类而言其定义的是一个新的方法,父类要想调用者必须发生向下操作(属于没事找事)。2、对象转型操作主要观察以两点:1、看new的是那一个类 2、看new的这个类是否覆写了父类的方法 3、如果子类覆写(不是重载)了父类的方法调用的一定...
关于Java多态性的问题,到底调用的是父类的还是子类的方法?
不是调用父类自己的方法,而是与父类方法名相同的方法。对象调用方法的时候是先在自己的实际类型中找,没有才去父类里面找。引用归引用,但是他实际的类型是子类的类型,子类重写了父类的方法,所以调用的是子类的方法。
为什么要用父类对象指向子类对象?
你好,父类引用子类对象有很多好处,我举个这样一个例子 像你上面这个person有子类men对吧,我们再来个子类women。于是你要写了一个数组,所有person的数组,就可以容纳men和women了。也就是person[] a=new person[]{new men("小明"),new women("小红")};这其实就是一个父类引用指向子类对象。如...