当前位置:首页 > 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 实现接口连接的步骤 安装 Axios Axios 是一个基于 Promise 的 HTTP 客户端,适用于浏览器和 Node.js 环境。通过以下命令安装: npm install ax…

vue实现过期接口拦截

vue实现过期接口拦截

vue实现过期接口拦截的方法 在Vue项目中实现过期接口拦截通常需要结合axios拦截器和后端返回的状态码或自定义字段。以下是几种常见实现方式: 基于HTTP状态码的拦截 当后端返回特定状态码(如4…

react如何接接口

react如何接接口

React 中接入接口的常见方法 使用 fetch API 发起 HTTP 请求fetch 是浏览器原生支持的 API,无需额外安装库。发起 GET 请求的示例代码如下: fetch('https:…

如何写react 组件

如何写react 组件

创建 React 组件的基本方法 React 组件可以通过函数式组件或类组件两种方式创建。以下是具体实现方法: 函数式组件 函数式组件是当前推荐的方式,简洁且支持 Hooks。 imp…

react插件如何写

react插件如何写

React 插件开发基础 React 插件通常以 npm 包形式发布,核心是通过封装可复用的组件或逻辑供其他项目调用。需要遵循 React 组件设计规范,并考虑兼容性、性能优化和文档完整性。 项目初…

react中token如何写

react中token如何写

在React中处理Token的方法 使用localStorage或sessionStorage存储Token 将Token存储在浏览器的localStorage或sessionStorage中,便于跨…