问答详情
源自:9-7 Java 中的 super 的使用

此时为什么会有Animal类执行了和Dog类执行了

执行Dog dog=new Dog();

dog.method();

为什么会有这两个运行

提问者:weibo_人二小生_0 2016-01-17 20:26

个回答

  • 怒放的生命012
    2016-05-22 22:56:10

    因为你声明le一个子类对象,对于你你调用子类的构造方法,而子类又继承了父类的属性和构造方法,所以你调用子类的方法时,子类会先对父类进行初始化,所以隐式调用了父类的构造方法,因此执行顺序是先父类的构造方法接着是子类的构造方法,我也是新手,看看有问题么,望采纳

  • 谁也别阻拦我
    2016-02-10 19:49:23

    因为构造方法里有隐式参数this, super,你调method打印age的时候,要经过构造方法里隐式参数去调用成员变量,所以执行构造方法的时候看到里面有一个打印,自然也把他执行了。我也不知道说的对不对,还有人没,鉴定一下


  • 连宏伟HW
    2016-01-24 18:34:37

    构造方法的执行顺序必须是:

    先执行父类,再执行子类

  • weibo爱分享的番茄妞
    2016-01-22 18:04:37

    因为animal类和dog类都是构造方法,,,

  • l1hx
    2016-01-17 21:59:46

    问的啥?