为了账号安全,请及时绑定邮箱和手机立即绑定

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

执行Dog dog=new Dog();

dog.method();

为什么会有这两个运行

正在回答

5 回答

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

0 回复 有任何疑惑可以回复我~

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


0 回复 有任何疑惑可以回复我~

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

先执行父类,再执行子类

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

问的啥?


0 回复 有任何疑惑可以回复我~
#1

weibo_人二小生_0 提问者

就这个
2016-01-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信