当前位置:首页 > 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中实现接口轮询通常通过setInterval或setTimeout结合异步请求完成。以下是一个基础实现示例: data() { return { pol…

vue实现接口连接

vue实现接口连接

Vue 实现接口连接的常用方法 Vue 中实现接口连接通常需要借助 HTTP 客户端库,以下是几种常见实现方式: 使用 Axios Axios 是流行的 HTTP 客户端库,支持 Promise…

vue调用后台接口实现

vue调用后台接口实现

Vue 调用后台接口的实现方法 在 Vue 中调用后台接口通常涉及以下几个关键步骤: 安装必要的依赖 确保项目中安装了 axios 或 fetch 等 HTTP 请求库。通过以下命令安装 axios…

java如何写一个接口

java如何写一个接口

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

vue实现接口

vue实现接口

Vue 实现接口请求的方法 在 Vue 中实现接口请求通常使用 axios 或 fetch,以下是具体实现方式: 安装 axios 通过 npm 或 yarn 安装 axios: npm inst…

php 实现接口

php 实现接口

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