Java does not support multiple inheritances but we can achieve the effect of multiple inheritances using interfaces. In interfaces, a class can implement more than one interface which can’t be done through extends keyword.
Please refer Multiple inheritance in java for more.
Let’s say we have two interfaces with same method name (geek) and different return types(int and String)
Now, Suppose we have a class that implements both those interfaces:
The question is: Can a java class implement Two interfaces with same methods having the same signature but different return types??
No, its an error
If two interfaces contain a method with the same signature but different return types, then it is impossible to implement both the interface simultaneously.
According to JLS (§8.4.2) methods with same signature is not allowed in this case.
Two methods or constructors, M and N, have the same signature if they have, the same name the same type parameters (if any) (§8.4.4), and after adopting the formal parameter types of N to the type parameters of M, the same formal parameter types.
It is a compile-time error to declare two methods with override-equivalent signatures in a class.
error: method show() is already defined in class Test error: Test is not abstract and does not override abstract method show() in geeks error: show() in Test cannot implement show() in bishal
error: MainClass is not abstract and does not override abstract method fun() in InterfaceA
This article is contributed by Bishal Kumar Dubey. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Private Methods in Java 9 Interfaces
- Access specifier of methods in interfaces
- Covariant return types in Java
- Java Signature toString() method with Examples
- Java Signature getProvider() method with Examples
- Java Signature initSign() method with Examples
- Java Signature getAlgorithm() method with Examples
- Java Signature sign() method with Examples
- Java Signature getInstance() method with Examples
- Static methods vs Instance methods in Java
- Interfaces in Java
- Interfaces in Java
- Interfaces and Inheritance in Java
- Callback using Interfaces in Java
- Functional Interfaces In Java
Improved By : Akanksha_Rai