Back to questions
Junior — Middle
63
Какие изменения необходимо внести в определение класса, чтобы обеспечить его возможность использования полиморфизма?
Answer from AI
sobes.tech AI
Чтобы обеспечить возможность использования полиморфизма в Java, необходимо:
- Сделать методы, которые предполагается переопределять в подклассах, не статическими и не финальными.
- Использовать ключевое слово
overrideв подклассах для переопределения методов базового класса. - В базовом классе методы должны быть объявлены как
publicилиprotected(чтобы подклассы могли их переопределять).
Пример:
class Animal {
public void sound() {
System.out.println("Some sound");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Bark");
}
}
// Использование полиморфизма
Animal animal = new Dog();
animal.sound(); // Выведет "Bark"
Таким образом, для поддержки полиморфизма методы должны быть виртуальными (в Java все нестатические методы виртуальные по умолчанию). Главное — не делать методы static или final.