当前位置:首页 > Java

java如何写接口

2026-02-04 11:02:56Java

Java 接口的基本语法

在 Java 中,接口通过 interface 关键字定义。接口可以包含抽象方法、默认方法、静态方法和常量。以下是接口的基本语法:

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");
    }

    // 常量(默认是 public static final)
    String CONSTANT = "Interface Constant";
}

实现接口的类

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

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

接口的多重实现

Java 支持一个类实现多个接口,用逗号分隔接口名称。

java如何写接口

public class MultiInterfaceImpl implements MyInterface, AnotherInterface {
    @Override
    public void abstractMethod() {
        System.out.println("Implementation for MyInterface");
    }

    @Override
    public void anotherMethod() {
        System.out.println("Implementation for AnotherInterface");
    }
}

接口的继承

接口可以通过 extends 关键字继承其他接口,支持多重继承。

public interface ParentInterface {
    void parentMethod();
}

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

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

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

默认方法和静态方法

Java 8 引入了默认方法和静态方法,允许接口提供方法实现而不强制实现类重写。

java如何写接口

public interface Calculator {
    default int add(int a, int b) {
        return a + b;
    }

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

public class BasicCalculator implements Calculator {
    // 可以直接使用默认方法
}

// 调用静态方法
int result = Calculator.multiply(3, 4);

函数式接口

如果一个接口只有一个抽象方法(可以有多个默认或静态方法),可以标记为 @FunctionalInterface,用于 Lambda 表达式。

@FunctionalInterface
public interface Greeting {
    void greet(String name);
}

// 使用 Lambda 实现
Greeting greeting = (name) -> System.out.println("Hello, " + name);
greeting.greet("Alice");

接口与抽象类的区别

  • 接口支持多重继承,抽象类不支持。
  • 接口中的方法默认是抽象的(Java 8 前),抽象类可以包含具体方法。
  • 接口中的成员变量默认是 public static final,抽象类没有此限制。

实际应用示例

以下是一个完整的接口定义和实现示例:

// 定义接口
public interface Vehicle {
    void start();
    void stop();
    default void honk() {
        System.out.println("Honking the horn");
    }
}

// 实现接口
public class Car implements Vehicle {
    @Override
    public void start() {
        System.out.println("Car started");
    }

    @Override
    public void stop() {
        System.out.println("Car stopped");
    }
}

// 使用
public class Main {
    public static void main(String[] args) {
        Vehicle car = new Car();
        car.start();
        car.honk(); // 调用默认方法
        car.stop();
    }
}

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

相关文章

vue3中实现接口轮询

vue3中实现接口轮询

使用 setInterval 实现基础轮询 在 Vue 3 中,可以通过 setInterval 定时调用接口。在组件的 setup 中定义轮询逻辑,注意在组件卸载时清除定时器以避免内存泄漏。 im…

java如何编写接口

java如何编写接口

编写Java接口的基本语法 在Java中,接口通过interface关键字定义,可以包含抽象方法、默认方法、静态方法和常量。 public interface MyInterface {…

vue实现接口配置

vue实现接口配置

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

react如何写列表

react如何写列表

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

react native 如何写组件

react native 如何写组件

React Native 组件开发指南 React Native 组件开发主要分为两种类型:函数组件和类组件。以下分别介绍两种组件的写法及核心概念。 函数组件写法 函数组件是 React Nativ…

react如何写轮播图

react如何写轮播图

使用 React 实现轮播图 轮播图可以通过多种方式实现,以下是几种常见的方法,包括使用第三方库和纯手写实现。 使用第三方库(react-slick) react-slick 是一个流行的轮播图库,…