当前位置:首页 > Java

java如何写接口

2026-01-14 17:20:49Java

定义接口

在Java中,使用interface关键字定义接口。接口可以包含抽象方法、默认方法、静态方法和常量(隐式为public static final)。

public interface MyInterface {
    // 抽象方法(隐式为public abstract)
    void abstractMethod();

    // 默认方法(Java 8+)
    default void defaultMethod() {
        System.out.println("Default method implementation");
    }

    // 静态方法(Java 8+)
    static void staticMethod() {
        System.out.println("Static method in interface");
    }

    // 常量
    String CONSTANT = "Interface Constant";
}

实现接口

类通过implements关键字实现接口,必须实现接口中所有的抽象方法(除非类是抽象的)。

java如何写接口

public class MyClass implements MyInterface {
    @Override
    public void abstractMethod() {
        System.out.println("Implemented abstract method");
    }
}

接口的多继承

Java支持接口的多继承,一个类可以实现多个接口,用逗号分隔。

java如何写接口

public interface InterfaceA {
    void methodA();
}

public interface InterfaceB {
    void methodB();
}

public class MyClass implements InterfaceA, InterfaceB {
    @Override
    public void methodA() {
        System.out.println("Method A");
    }

    @Override
    public void methodB() {
        System.out.println("Method B");
    }
}

接口的默认方法冲突

如果多个接口有相同的默认方法,实现类必须重写该方法以避免冲突。

public interface InterfaceX {
    default void conflictMethod() {
        System.out.println("InterfaceX default method");
    }
}

public interface InterfaceY {
    default void conflictMethod() {
        System.out.println("InterfaceY default method");
    }
}

public class MyClass implements InterfaceX, InterfaceY {
    @Override
    public void conflictMethod() {
        // 显式调用某个接口的默认方法
        InterfaceX.super.conflictMethod();
    }
}

接口与抽象类的区别

  • 接口不能包含实例字段或构造方法,抽象类可以。
  • 接口支持多继承,抽象类仅支持单继承。
  • 接口的成员默认是public,抽象类可以包含protectedprivate成员。

实际应用示例

接口常用于定义回调、策略模式或服务契约。例如:

// 定义回调接口
public interface Callback {
    void onComplete(String result);
}

// 使用回调
public class Worker {
    public void doWork(Callback callback) {
        String result = "Work done";
        callback.onComplete(result);
    }
}

// 实现回调
public class Main {
    public static void main(String[] args) {
        Worker worker = new Worker();
        worker.doWork(result -> System.out.println("Result: " + result));
    }
}

标签: 如何写接口
分享给朋友:

相关文章

vue调用接口实现退出

vue调用接口实现退出

实现Vue退出功能的步骤 在Vue中调用接口实现退出功能通常需要与后端API交互,以下是实现方法: 前端实现 创建退出方法,调用后端API接口: methods: { logout() {…

vue调用接口实现退出

vue调用接口实现退出

Vue 调用接口实现退出功能 在 Vue 中实现退出功能通常需要调用后端接口,清除用户登录状态,并跳转到登录页面或其他指定页面。以下是实现步骤: 定义退出接口方法 在 Vue 项目中,通常会在 s…

vue3中实现接口轮询

vue3中实现接口轮询

使用 setInterval 实现基础轮询 在 Vue 3 中,可以通过 setInterval 定时调用接口。在组件的 onMounted 钩子中启动轮询,并在 onUnmounted 钩子中清除定…

java如何写一个接口

java如何写一个接口

在Java中定义接口 接口在Java中是一种抽象类型,用于定义一组方法规范,供类实现。接口通过interface关键字声明,可以包含抽象方法、默认方法、静态方法和常量。 public interfa…

php 实现接口

php 实现接口

PHP 实现接口的方法 在 PHP 中,接口(Interface)用于定义一组方法的规范,而不包含具体的实现。类可以实现(implement)接口,并必须实现接口中定义的所有方法。 定义接口 接口…

php实现接口

php实现接口

PHP 实现接口的方法 在 PHP 中,接口(Interface)用于定义一组方法的规范,而不实现具体功能。类可以实现一个或多个接口,并必须实现接口中定义的所有方法。 定义接口 接口使用 inte…