- Apache Spark 2.x for Java Developers
- Sourav Gulati Sumit Kumar
- 174字
- 2021-07-02 19:01:56
What if a class implements two interfaces which have default methods with same name and signature?
Interfaces in Java are used to provide multiple inheritances. Classes can implement more than one interface. As interface can consist of default methods in Java 8, which a class does not necessarily need to implement. We can have two interfaces that have default methods with the same name and signature.
Let's create two interfaces with the same default method:
public interface Interface1 { default void hello(){ System.out.println("Hello from Interface1"); } } public interface Interface2 { default void hello(){ System.out.println("Hello from Interface1"); } }
So, we have two interfaces with the default method hello with the same signature:
public class InterfaceImpl implements Interface1,Interface2{ @Override public void hello() { Interface1.super.hello(); } }
Now, once you create a class that implements both of these interfaces, the compiler will force you to override the hello method. You can call hello of any of the interfaces if you want using the syntax given previously or you can given a different implementation to it.
推薦閱讀
- C++面向對象程序設計(第三版)
- ASP.NET Core Essentials
- SSM輕量級框架應用實戰
- Haxe Game Development Essentials
- Mastering Linux Network Administration
- Practical Game Design with Unity and Playmaker
- 零基礎學C語言第2版
- Spring MVC+MyBatis開發從入門到項目實踐(超值版)
- Everyday Data Structures
- Go語言入門經典
- Java高級程序設計
- Deep Learning for Natural Language Processing
- Android嵌入式系統程序開發(基于Cortex-A8)
- Building E-Commerce Solutions with WooCommerce(Second Edition)
- Learning PowerShell DSC(Second Edition)