在继承

时间:2016-10-01 04:06:58

标签: java inheritance

我是Java的新手。

所以我愿意知道,当存在两个继承类时,它有2个重写方法和2个构造函数(默认构造函数)。

因此,在创建子类对象时,将根据派生顺序调用两个默认构造函数。但是如果被覆盖的方法会发生吗?

2 个答案:

答案 0 :(得分:0)

你问的答案是,否。

在构造函数的情况下,派生或子类的默认构造函数隐式调用super()。 super()表示调用父类的构造函数。因此,当创建子类的对象时,调用转到子类的构造函数,其第一行是对super()的隐式调用(也就是相应基类的构造函数).Hence在输出中,语句的语句父类构造函数在子类构造函数之前打印。

在覆盖的情况下,当使用子类对象调用时,只执行在子类中定义的方法,因为我们将覆盖在父类中定义的方法。 / p>

答案 1 :(得分:-1)

当在Java中重写方法时,子类中的方法取代父类中的方法,因此只执行子类中的方法。见this information on inheritance.