当前位置:首页 > Java

如何实现接口 java

2026-04-09 05:37:24Java

定义接口

在Java中,接口通过interface关键字定义,仅包含方法签名和常量(默认public static final)。接口不能包含实例字段或具体方法实现(Java 8后允许defaultstatic方法)。

public interface Animal {
    void eat();          // 抽象方法
    String getType();    // 抽象方法
}

实现接口

类使用implements关键字实现接口,必须重写所有抽象方法(除非是抽象类)。一个类可实现多个接口。

public class Dog implements Animal {
    @Override
    public void eat() {
        System.out.println("Dog eats bones");
    }

    @Override
    public String getType() {
        return "Mammal";
    }
}

默认方法和静态方法

Java 8允许接口包含default方法(提供默认实现)和static方法(通过接口名调用)。

如何实现接口 java

public interface Vehicle {
    void start();          // 抽象方法

    default void honk() {  // 默认方法
        System.out.println("Beep beep!");
    }

    static boolean isElectric(int batteryLevel) {  // 静态方法
        return batteryLevel > 0;
    }
}

多接口实现

类可实现多个接口,解决多继承问题。若多个接口有相同默认方法,需在类中显式重写。

public class SmartCar implements Vehicle, ElectricDevice {
    @Override
    public void start() {
        System.out.println("Starting with AI");
    }

    @Override
    public void honk() {  // 重写冲突的默认方法
        Vehicle.super.honk();  // 显式选择调用哪个接口的默认方法
    }
}

接口继承

接口可继承其他接口,形成层次结构。子接口会继承父接口的所有抽象方法。

如何实现接口 java

public interface ElectricVehicle extends Vehicle, ElectricDevice {
    void charge();  // 新增抽象方法
}

标记接口

无任何方法的接口称为标记接口(如Serializable),用于标识类的特性。

public class Data implements Serializable {
    // 类内容
}

函数式接口

仅包含一个抽象方法的接口(可含defaultstatic方法),可用Lambda表达式实现。

@FunctionalInterface
public interface Calculator {
    int calculate(int a, int b);
}

// 使用Lambda
Calculator add = (a, b) -> a + b;
System.out.println(add.calculate(2, 3));  // 输出5

分享给朋友:

相关文章

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

vue如何实现tap

vue如何实现tap

Vue 中实现类似移动端 tap 事件的方法 在 Vue 中可以通过以下几种方式实现类似移动端 tap(轻触)事件的效果: 使用第三方库 安装 v-tap 指令库可以快速实现 tap 事件: np…

php实现接口

php实现接口

PHP 实现接口的方法 在 PHP 中,接口(Interface)用于定义一组方法的规范,而不实现具体功能。类可以实现一个或多个接口,并必须实现接口中定义的所有方法。 定义接口 接口使用 inter…

java如何写接口

java如何写接口

定义接口 在Java中,使用interface关键字定义接口。接口可以包含抽象方法、默认方法、静态方法和常量(隐式为public static final)。 public interface…

java如何实现异步

java如何实现异步

Java实现异步的方法 Java中实现异步编程可以通过多种方式,每种方式适用于不同的场景和需求。以下是常见的实现方法: 使用Thread类 创建新线程执行异步任务是最基础的方式。通过继承Thread…

vue如何实现轮询

vue如何实现轮询

实现轮询的方法 在Vue中实现轮询可以通过以下几种方式完成,具体选择取决于项目需求和场景。 使用 setInterval 通过 setInterval 定时调用接口或执行任务,适合简单的轮询场景。…