为什么子类构造函数必须显式调用超类构造函数? [英] Why exactly do subclass constructors have to explicitly call super class constructors?
本文介绍了为什么子类构造函数必须显式调用超类构造函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为什么子类构造函数必须显式调用超类构造函数?这是什么原因?
Why exactly do subclass constructors have to explicitly call super class constructors? What is the reason for this?
推荐答案
他们没有。
如果你没有显式调用超构造函数,它相当于调用无参数的超构造函数。
If you don't explicitly call a superconstructor, it's equivalent to calling the parameterless superconstructor.
public class Sub
{
public Sub()
{
// Do some stuff
}
}
相当于:
public class Sub
{
public Sub()
{
super();
// Do some stuff
}
}
你<如果要指定参数,em> do 显式必须调用超级构造函数。这是非常合理的,IMO - 您真的希望编译器猜测您想提供哪些参数?
You do explicitly have to call a superconstructor if you want to specify arguments. That's pretty reasonable, IMO - would you really want the compiler guessing which arguments you wanted to supply?
这篇关于为什么子类构造函数必须显式调用超类构造函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文