Всё для Java разработчиков.
"Illegal combination of modifiers: ‘abstract’ and ‘static’". Модификатор abstract говорит, что метод будет реализован в другом классе, а static наоборот указывает, что этот метод будет доступен по имени класса.super мы можем обратиться к любому члену родительского класса - методу или полю, если они не определены с модификатором private.
super.method();overloading (перегрузка) метода.
• Секцию throws метода можно не указывать, но стоит помнить, что она остаётся действительной, если уже определена у метода родительского класса. Так же, возможно добавлять новые исключения, являющиеся наследниками от уже объявленных или исключения RuntimeException. Порядок следования таких элементов при переопределении значения не имеет.public в MainClass до private в Class extends MainClass).
• Изменить тип возвращаемого значения при переопределении метода нельзя, будет ошибка attempting to use incompatible return type.
• Можно сузить возвращаемое значение, если они совместимы.
Например:
public class Animal {
public Animal eat() {
System.out.println("animal eat");
return null;
}
public Long calc() {
return null;
}
}
public class Dog extends Animal {
public Dog eat() {
return new Dog();
}
/*attempting to use incompatible return type
public Integer calc() {
return null;
}
*/
}