在Java中,接口(interface)是一种抽象数据类型,它定义了一组方法和常量,但不提供具体实现。当一个类实现一个接口时,它需要提供接口中所有方法的具体实现。这个过程被称为实现(implement)或覆盖(override)接口方法。
从Java 8开始,接口可以包含默认方法(default methods)和静态方法(static methods)。默认方法允许在接口中提供一个默认实现,实现接口的类可以选择性地覆盖这些方法。静态方法则不允许在实现类中覆盖。
以下是一个简单的示例:
interface MyInterface {
// 抽象方法,实现类必须提供具体实现
void abstractMethod();
// 默认方法,实现类可以选择性覆盖
default void defaultMethod() {
System.out.println("Default implementation");
}
// 静态方法,不能在实现类中覆盖
static void staticMethod() {
System.out.println("Static method");
}
}
class MyClass implements MyInterface {
@Override
public void abstractMethod() {
System.out.println("MyClass implementation of abstractMethod");
}
// 可以选择性地覆盖默认方法
@Override
public void defaultMethod() {
System.out.println("MyClass implementation of defaultMethod");
}
}
在这个例子中,MyClass实现了MyInterface接口,并提供了abstractMethod和defaultMethod的具体实现。注意,我们不能覆盖staticMethod,因为它是一个静态方法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。