当前位置:首页 > Java

java如何写一个接口

2026-03-02 20:46:51Java

定义接口

在Java中,使用interface关键字定义接口。接口可以包含抽象方法、默认方法、静态方法和常量。接口的所有方法默认是public abstract,所有常量默认是public static final

public interface MyInterface {
    // 抽象方法
    void abstractMethod();

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

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

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

实现接口

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

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

    // 可以选择重写默认方法
    @Override
    public void defaultMethod() {
        System.out.println("Overridden default method");
    }
}

使用接口

接口可以通过多态特性被引用,调用实现类的方法。

public class Main {
    public static void main(String[] args) {
        MyInterface obj = new MyClass();
        obj.abstractMethod(); // 调用实现类的方法
        obj.defaultMethod();  // 调用默认方法或重写的方法
        MyInterface.staticMethod(); // 调用静态方法
        System.out.println(MyInterface.CONSTANT); // 访问常量
    }
}

接口继承

接口可以继承其他接口,支持多重继承。

public interface ParentInterface {
    void parentMethod();
}

public interface ChildInterface extends ParentInterface {
    void childMethod();
}

public class MyClass implements ChildInterface {
    @Override
    public void parentMethod() {
        System.out.println("Parent method implementation");
    }

    @Override
    public void childMethod() {
        System.out.println("Child method implementation");
    }
}

函数式接口

Java 8引入函数式接口(@FunctionalInterface),仅包含一个抽象方法,可用于Lambda表达式。

java如何写一个接口

@FunctionalInterface
public interface MyFunctionalInterface {
    void execute();

    // 可以有默认方法
    default void log() {
        System.out.println("Logging");
    }
}

public class Main {
    public static void main(String[] args) {
        // 使用Lambda实现函数式接口
        MyFunctionalInterface func = () -> System.out.println("Lambda execution");
        func.execute();
    }
}

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

相关文章

java实现vue接口

java实现vue接口

Java 实现 Vue 接口的方法 在 Java 中实现 Vue 前端调用的接口,通常需要使用 Spring Boot 框架构建 RESTful API。以下是具体的实现步骤和代码示例。 创建 Sp…

react如何预加载接口数据

react如何预加载接口数据

预加载接口数据的常见方法 在React中预加载接口数据可以通过多种方式实现,核心目标是提前获取数据并存储,避免组件渲染时的延迟。以下是几种常用方案: 使用useEffect与状态管理 在父组件或高阶…

react共用组件如何请求接口

react共用组件如何请求接口

在React中实现共用组件的接口请求 共用组件的接口请求需要结合组件的复用性和数据独立性进行设计。以下是几种常见方法: 通过props传递数据 父组件负责获取数据并通过props传递给共用组件:…

react 共用组件如何请求接口

react 共用组件如何请求接口

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

react中如何写图片路径

react中如何写图片路径

在React中正确编写图片路径需要根据图片存放位置和项目配置选择合适的方式。以下是几种常见方法: 使用相对路径或绝对路径 将图片放在public文件夹下时,可以直接通过相对路径或绝对路径引用。例如图…

katalon如何写react用例

katalon如何写react用例

在Katalon中编写React应用测试用例 React应用通常使用动态生成的元素和虚拟DOM,测试时需要特殊处理。Katalon提供多种方法来应对React的特性。 元素定位策略 使用XPath或…