Java 8 之后的接口可以同时定义抽象方法(Abstract Method)和默认方法(Default Method)。
在 Java 8 之前,接口中只能定义抽象方法,即只能声明方法的签名而不包含方法的实现。实现接口的类需要提供具体的实现来满足接口的要求。这导致了在接口需要新增方法时,所有实现类都需要进行修改。
而在 Java 8 中引入了默认方法的概念。默认方法是接口中带有方法体的方法,并且使用 default 关键字进行修饰。默认方法提供了在接口中添加新的方法而不会破坏现有实现类的兼容性的机制。
Java 8 之后的接口可以同时包含抽象方法和默认方法。抽象方法仍然需要实现类提供具体的实现,而默认方法可以在接口中提供默认的实现。实现类可以选择是否重写默认方法,如果不重写,则会继承接口中定义的默认实现。
以下是一个示例:
![](https://img.haomeiwen.com/i28978680/52f7a27fcd0f4018.png)
在上述示例中,接口 MyInterface 定义了一个抽象方法 abstractMethod() 和一个默认方法 defaultMethod()。类 MyClass 实现了接口,并提供了对抽象方法的具体实现。在 Main 类中,创建了 MyClass 的实例并调用了抽象方法和默认方法。
网友评论