Junior — Middle
What changes are necessary in the class definition to ensure its ability to use polymorphism?
sobes.tech AI
Answer from AI
To enable polymorphism in Java, you need to:
- Make methods that are intended to be overridden in subclasses non-static and non-final.
- Use the
overridekeyword in subclasses to override base class methods. - In the base class, methods should be declared as
publicorprotected(so subclasses can override them).
Example:
class Animal {
public void sound() {
System.out.println("Some sound");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Bark");
}
}
// Using polymorphism
Animal animal = new Dog();
animal.sound(); // Outputs "Bark"
Thus, to support polymorphism, methods should be virtual (in Java, all non-static methods are virtual by default). The main thing is to avoid making methods static or final.