2016-10-01 70 views
-2

我是Java的新手。方法在继承的情况下重写

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

所以当创建子类对象时,两个默认构造函数都是根据派生顺序调用的。但是,如果方法被覆盖,是否会发生?

+0

让我们有一些代码, – Saranjith

+0

http://stackoverflow.com/questions/1543191/method-overriding-in-java – emotionlessbananas

+2

我对这个问题感到困惑,但是除非你使用'super'关键字 –

回答

0

你的问题是答案,

号在构造函数的情况下,所获得的或子类隐式调用超的默认构造函数()。 super()表示调用父类的构造函数。因此,当创建子类的对象时,会调用子类的构造函数,该类的第一行是对super()(也称为相应基类的构造函数)的隐式调用。因此,在输出中,父类构造函数在子类构造函数的父类构造函数之前打印。

如果覆盖,只有您在子类中定义的方法在使用子类对象调用时执行,因为我们重写了在父类中定义的方法。