In Java, interfaces can extend other interfaces, enabling interface inheritance. This allows one interface to inherit the methods and constants of another interface. The child interface inherits all the abstract methods, default methods, and static methods of the parent interface.
Syntax:
interface ParentInterface {
// Methods and constants
}
interface ChildInterface extends ParentInterface {
// Additional methods and constants
}
Example:
interface Animal {
void eat();
}
interface Dog extends Animal {
void bark();
}
class Labrador implements Dog {
public void eat() {
System.out.println("Labrador is eating");
}
public void bark() {
System.out.println("Labrador is barking");
}
}
public class Main {
public static void main(String[] args) {
Labrador labrador = new Labrador();
labrador.eat();
labrador.bark();
}
}
In this example:
- The `Animal` interface defines the `eat()` method.
- The `Dog` interface extends the `Animal` interface and adds the `bark()` method.
- The `Labrador` class implements the `Dog` interface, so it must provide implementations for both `eat()` and `bark()` methods.
Benefits:
- Interface inheritance promotes code reuse and supports the creation of a more structured and organized codebase.
- It allows for the implementation of a hierarchical structure for interfaces, facilitating better design and maintenance of the code.
Note:
- A class implementing a child interface must provide implementations for all abstract methods defined in both the child and parent interfaces.
- Interfaces can extend multiple interfaces, enabling multiple inheritance of type, but Java does not support multiple inheritance of implementation.
Comments
Post a Comment