当前位置:首页 > 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 项目中实现接口测试,可以通过多种方式完成。以下是几种常见的方法: 使用 Axios 进行接口测试 Axios 是 Vue 中常用的 HTTP 客户端库,适合…

vue实现按需调用接口

vue实现按需调用接口

Vue 中按需调用接口的实现方法 在 Vue 项目中按需调用接口可以优化性能,避免不必要的网络请求。以下是几种常见实现方式: 使用计算属性触发接口调用 通过计算属性监听数据变化,在需要时调用接口:…

vue接口实现导出

vue接口实现导出

Vue 接口实现导出功能 在 Vue 项目中实现导出功能通常涉及前端调用后端接口获取数据,并以文件形式下载。以下是几种常见的实现方式: 通过 Blob 对象下载文件 当后端返回文件流时,前端可通过…

react如何写列表

react如何写列表

在React中渲染列表的方法 使用map方法遍历数组生成列表元素 React中通常通过JavaScript的map方法将数组数据转换为React元素数组。每个列表项需要包含唯一的key属性以提高渲染性…

react 共用组件如何请求接口

react 共用组件如何请求接口

共用组件请求接口的设计方法 在React中设计共用组件时,接口请求通常需要考虑组件的复用性、数据管理以及与父组件的通信。以下是几种常见的设计模式: 通过Props传递数据 父组件负责获取数据并通过p…

react如何写小程序

react如何写小程序

React 开发小程序的方法 React 本身是为 Web 应用设计的,但可以通过以下方式开发小程序: 使用 Taro 框架 Taro 是一个多端统一开发框架,支持使用 React 语法开发小程序(…