课程
/后端开发
/Java
/Java入门第二季 升级版
执行Dog dog=new Dog();
dog.method();
为什么会有这两个运行
2016-01-17
源自:Java入门第二季 升级版 9-7
正在回答
因为你声明le一个子类对象,对于你你调用子类的构造方法,而子类又继承了父类的属性和构造方法,所以你调用子类的方法时,子类会先对父类进行初始化,所以隐式调用了父类的构造方法,因此执行顺序是先父类的构造方法接着是子类的构造方法,我也是新手,看看有问题么,望采纳
因为构造方法里有隐式参数this, super,你调method打印age的时候,要经过构造方法里隐式参数去调用成员变量,所以执行构造方法的时候看到里面有一个打印,自然也把他执行了。我也不知道说的对不对,还有人没,鉴定一下
构造方法的执行顺序必须是:
先执行父类,再执行子类
因为animal类和dog类都是构造方法,,,
问的啥?
weibo_人二小生_0 提问者
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
3 回答为什么会有两次“Animal类执行了”???
2 回答为什么main函数里没调用Animal类和Dog类构造方法,还会执行?
6 回答Animal animal = dog 执行后 animal 是基于哪个类型的?为什么 Cat cat = (Cat) animal; 执行后回事false呢?
1 回答Dog dog2=animal无法执行
2 回答为啥不是只输出 animal age:20?为啥前面还有个:Animal类执行了?