, если у меня есть класс, который имеет, например, в HashMap, который инициализируется в конструкторе, как так ...Каков правильный способ инициализации члена суперкласса?
public class MySuper{
HashMap<String,String> foo;
public MySuper(){
foo = new HashMap<String,String>();
}
}
мое впечатление (что неверно), что мне просто нужно вызвать супер в подклассе и та же инициализация будет иметь место, но Eclipse, не устраивает следующий синтаксис ...
public class MySub extends MySuper{
public MySub(){
super.MySuper()
}
}
Итак, мне любопытно, что правильный способ сделать это. Должен ли я создавать отдельный метод в MySuper, который выполняет инициализацию и вызывает супер? (Я знаю, что это сработает), но у меня создалось впечатление, что существует способ просто вызвать супер в классе, от которого я расширяюсь, и делать то, что он обычно делает в своем конструкторе.
ТИА
Кто-то потянуло для смещения (смехотворно), но я вернул его обратно, так что теперь он на ноль. Надеюсь, кто-то напомнит этому человеку, что когда-то он был новичком, как и все мы. –
Как говорили другие, основная проблема, с которой вы столкнулись (кроме отсутствующего ';', заключается в том, что вы должны называть 'super', а не' super.MySuper'. И также, как указано, вам не нужно явно ссылаться 'super', если вам не нужно предоставить список параметров, отличный от списка parm подструктора. –
(И мне всегда нужно помнить, что это просто« супер »для Java - слишком много языков, танцующих в моей голове, и они каждый делает это по-другому.) –