如果我有一个类,例如一个在构造函数中初始化的 HashMap,就像这样......
public class MySuper{
HashMap<String,String> foo;
public MySuper(){
foo = new HashMap<String,String>();
}
}
我的印象(这是不正确的)是我只需要在子类中调用 super 并且会发生相同的初始化,但是 Eclipse 对以下语法不满意...
public class MySub extends MySuper{
public MySub(){
super.MySuper()
}
}
所以,我很好奇执行此操作的正确方法是什么。我是否必须在 MySuper 中创建一个单独的方法来执行初始化并调用 super ? (我知道这会起作用),但我的印象是有一种方法可以在我正在扩展的类上调用 super 并让它做它通常在其构造函数中做的任何事情。
TIA
最佳答案
子类自动调用父类(super class)的无参数构造函数。
但是如果你想在你的代码中强调它,你可以使用:
public class MySub extends MySuper{
public MySub(){
super();
}
}
super() 必须是构造函数主体的第一条语句。
关于java - 初始化父类(super class)成员的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10771092/