Я нашел несколько похожих тем, например here, но они не полностью ответили на мой вопрос. Вопрос очень прост:Java - Явный супер() в конструкторе подкласса
Можно ли назвать super()
в конструкторе подкласса? Я знаю, конечно, что если я не сделаю это явно, компилятор сделает это для меня, но я прошу только в контексте лучших практик. Считаете ли вы ссылкой super()
в каждом конструкторе подкласса как «триумф формы над веществом»?
Я работаю с кодом, который содержит стратегии использования, поэтому я вижу, что для многих программистов это не имеет значения ... Для меня это не имеет значения, как сейчас, но, возможно, я должен его изменить .. .
Вы ** должны ** сделать это, если суперкласс не имеет конструктора по умолчанию. Например: 'class Fruit {protected String flavor; публичный Фрукты (струнный аромат) {this.flavor = аромат; }} класс Apple расширяет Fruit {public Apple() {super ("sweet"); }} '. Off topic: 'super (« sweet »)' звучит забавно :). –
Я никогда не использую пустой 'super()', потому что он просто избыточен, но, как говорит @LuiggiMendoza, 'super (...)' может быть необходимо. –
Да, конечно. Но я имел в виду только ситуацию, в которой супер можно опустить. –