Добре. Щоб зрозуміти вищесказане, потрібно спочатку зрозуміти природу абстрактних класів. Вони схожі на інтерфейси в цьому відношенні. Про це тут говорять Oracle .
Абстрактні класи схожі на інтерфейси. Ви не можете їх створити, і вони можуть містити поєднання методів, оголошених із реалізацією або без неї.
Тож вам доведеться подумати про те, що відбувається, коли інтерфейс розширює інший інтерфейс. Наприклад ...
//Filename: Sports.java
public interface Sports
{
public void setHomeTeam(String name);
public void setVisitingTeam(String name);
}
//Filename: Football.java
public interface Football extends Sports
{
public void homeTeamScored(int points);
public void visitingTeamScored(int points);
public void endOfQuarter(int quarter);
}
... як ви бачите, це також ідеально чудово. Просто тому, що, як і абстрактний клас, інтерфейс НЕ МОЖЕТ бути екземпляром. Отже, не потрібно чітко згадувати методи від свого «батьківського». Однак ВСІ батьківські підписи методу DO неявно стають частиною інтерфейсу, що розширюється, або реалізації абстрактного класу. Отже, як тільки власний клас (той, який можна створити інстанцію) розширює вище, потрібно буде забезпечити реалізацію кожного абстрактного методу.
Сподіваюсь, що це допоможе ... і Аллах, алам!