Junior — Middle
Why is it not recommended to use inheritance from more than one class simultaneously in Java?
sobes.tech AI
Answer from AI
Java does not support multiple inheritance of classes to avoid issues related to ambiguity and complexity in managing object states. The main reason is the so-called "diamond problem," where the same method or field can be inherited from multiple classes, leading to conflicts.
Instead, Java uses interfaces, which allow a class to implement multiple sets of methods without inheriting implementation. This simplifies the code structure and makes behavior more predictable.
Example:
interface Flyable {
void fly();
}
interface Swimmable {
void swim();
}
class Duck implements Flyable, Swimmable {
public void fly() {
System.out.println("Duck is flying");
}
public void swim() {
System.out.println("Duck is swimming");
}
}
Thus, Java avoids the complexities of multiple class inheritance, maintaining flexibility through interfaces.