当前位置:首页 > Java

java如何写接口代码

2026-03-19 04:53:52Java

Java接口的基本写法

接口在Java中通过interface关键字定义,可以包含抽象方法、默认方法、静态方法和常量。接口不能被实例化,只能由类实现。

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

    // 默认方法
    default void defaultMethod() {
        System.out.println("This is a default method.");
    }

    // 静态方法
    static void staticMethod() {
        System.out.println("This is a static method.");
    }

    // 常量
    String CONSTANT = "This is a constant";
}

实现接口的类

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

public class MyClass implements MyInterface {
    @Override
    public void abstractMethod() {
        System.out.println("Implementation of abstractMethod");
    }
}

使用接口

可以通过接口引用指向实现类的对象,调用接口中的方法。

public class Main {
    public static void main(String[] args) {
        MyInterface obj = new MyClass();
        obj.abstractMethod();
        obj.defaultMethod();
        MyInterface.staticMethod();
        System.out.println(MyInterface.CONSTANT);
    }
}

接口的多继承

Java支持接口的多继承,一个接口可以继承多个父接口。

public interface InterfaceA {
    void methodA();
}

public interface InterfaceB {
    void methodB();
}

public interface InterfaceC extends InterfaceA, InterfaceB {
    void methodC();
}

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

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

    @Override
    public void methodC() {
        System.out.println("Method C");
    }
}

函数式接口

函数式接口是只有一个抽象方法的接口,可以用@FunctionalInterface注解标记。

@FunctionalInterface
public interface MyFunctionalInterface {
    void execute();
}

public class Main {
    public static void main(String[] args) {
        MyFunctionalInterface func = () -> System.out.println("Executing functional interface");
        func.execute();
    }
}

接口的默认方法和静态方法

Java 8引入了默认方法和静态方法,允许在接口中提供方法实现。

public interface Calculator {
    int add(int a, int b);

    default int subtract(int a, int b) {
        return a - b;
    }

    static int multiply(int a, int b) {
        return a * b;
    }
}

public class BasicCalculator implements Calculator {
    @Override
    public int add(int a, int b) {
        return a + b;
    }
}

public class Main {
    public static void main(String[] args) {
        Calculator calc = new BasicCalculator();
        System.out.println(calc.add(5, 3));
        System.out.println(calc.subtract(5, 3));
        System.out.println(Calculator.multiply(5, 3));
    }
}

接口中的私有方法

Java 9引入了接口中的私有方法,用于减少代码重复。

java如何写接口代码

public interface Logger {
    default void logInfo(String message) {
        log("INFO", message);
    }

    default void logError(String message) {
        log("ERROR", message);
    }

    private void log(String level, String message) {
        System.out.println(level + ": " + message);
    }
}

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

相关文章

vue实现接口分页

vue实现接口分页

Vue 实现接口分页的方法 在 Vue 中实现接口分页通常需要结合后端 API 和前端分页组件。以下是常见的实现方式: 使用 Element UI 的分页组件 安装 Element UI 后,可以使…

vue实现接口配置

vue实现接口配置

Vue 中实现接口配置的方法 在 Vue 项目中配置接口通常涉及以下几个关键步骤: 创建 API 配置文件 新建一个 api 目录,创建 index.js 文件作为接口配置入口。可以将接口按模块分类…

vue实现登录调用接口

vue实现登录调用接口

Vue 登录接口调用实现 安装 axios 在项目中安装 axios 用于发送 HTTP 请求: npm install axios 创建 API 服务文件 在 src 目录下创建 api/auth…

vue实现过期接口拦截

vue实现过期接口拦截

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

如何写react项目

如何写react项目

创建React项目 使用Create React App(CRA)快速初始化项目,这是官方推荐的脚手架工具。运行以下命令生成项目结构: npx create-react-app my-app cd…

React如何写popover

React如何写popover

使用React创建Popover React中实现Popover可以通过多种方式,包括使用第三方库或自定义组件。以下是几种常见方法: 使用Material-UI库 Material-UI提供了现成的…