如果我有一个类,例如具有像这样在构造函数中初始化的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,并使它执行其构造函数中通常执行的操作。

TIA

最佳答案

您可以只调用super(),也可以,在您的特定示例中,您甚至不必在子类中编写构造函数,它将隐式调用超类的默认构造函数

09-30 12:44