JAVA接口代码示例

java 复制代码
public class VehicleExample {
    // 定义接口
    public interface Vehicle {
        void start(); // 启动车辆
        void stop(); // 停止车辆
        void status();// 检查车辆状态
    }
    public interface InnerVehicleExample {
        void student();
    }
    // 实现接口的类:Car
    public static class Car implements Vehicle {
        @Override
        public void start() {
            System.out.println("Car is starting.");
        }
        @Override
        public void stop() {
            System.out.println("Car is stopping.");
        }
        @Override
        public void status() {
            System.out.println("Car is run");
        }
    }
    // 实现接口的类:Bike
    public static class Bike implements Vehicle {
        @Override
        public void start() {
            System.out.println("Bike is starting.");
        }
        @Override
        public void stop() {
            System.out.println("Bike is stopping.");
        }
        @Override
        public void status() {
            System.out.println("Bike is running.");
        }
    }
    // 主方法
    public static void main(String[] args) {
        Vehicle myCar = new Car();
        Vehicle myBike = new Bike();
        myCar.start(); // 输出: Car is starting.
        myCar.stop(); // 输出: Car is stopping.
        myCar.status();
        myBike.start(); // 输出: Bike is starting.
        myBike.stop(); // 输出: Bike is stopping.
        myBike.status();
    }
}
什么是接口?

在Java中,接口是一种特殊的引用数据类型,它仅包含常量和抽象方法。接口定义了一组方法的签名,这些方法将由实现接口的类来实现。相比于类的继承,接口更多地关注行为,允许不同的类实现相同的功能。

接口的优点
  1. 抽象化:接口让我们可以定义一个规范,任何实现该接口的类都必须遵循这个规范。这就鼓励了代码的高度抽象化,使得系统的设计更加灵活。
  2. 解耦应用程序:使用接口可以减少类之间的依赖性,即使接口的实现发生变化,只要保证新的实现符合接口定义的行为,其他依赖于该接口的代码无需修改。
  3. 多重继承:Java不支持类的多重继承,但一个类可以实现多个接口,从而克服了这一限制,这使得我们可以组合不同的类行为。
  4. 提高可测试性:接口使得单元测试变得更加简单。我们可以创建一个接口的模拟实现,并测试依赖于该接口的代码,而无需实际依赖于它的实现。
代码解析

在上述代码示例中,我们定义了一个 Vehicle 接口,包含了 start()、stop() 和 status() 三个方法。这些方法代表了车辆的基本行为。

  1. 接口的实现 :我们创建了两个类 Car 和 Bike,分别实现了 Vehicle 接口。在每个类中,实现了接口方法,定义了具体的行为,比如如何启动和停止车辆,以及获取车辆状态。
  2. 主方法的调用 :在 main 方法中,我们创建了 Car 和 Bike 的实例,并通过接口类型的变量 myCar 和 myBike 调用它们的行为。这种方式显示了接口的多态性。
相关推荐
LMT流氓兔9 小时前
第五单元——第十六课:给书店助手加上网页界面
java·开发语言·jvm·人工智能·oracle·langchain·1024程序员节
wangbing112510 小时前
平台介绍-modbus设备调试
java
西索斯coding11 小时前
gpt-image-2.5-sunburst 和 gemini-3.1-flash-image 差多少?60 组项目素材的成功成本评测框架
java·linux·gpt·ai
wuminyu11 小时前
Java字节码学习总结:字节码如何加载、解析和执行
java·linux·c语言·jvm·c++
Flynn Liang12 小时前
大模型怎么自己调函数?Spring AI 2.0 Tool Calling 自动循环原理 + 完整时序图
java·人工智能·spring·agent·函数调用·springai·toolcalling
乌暮13 小时前
请求进门先安检:Spring 拦截器与统一功能实战指南
java·开发语言·后端·学习·spring
学长毕设13 小时前
基于SpringBoot的烘焙商品商品系统-附源码
java·spring boot·后端
金銀銅鐵14 小时前
[Java] 用纯 Swing 做一个《論語·學而》阅读器
java·ai编程·交互设计
艾伦_耶格宇14 小时前
【kubernetes - 1.28版本】-11 K8S核心组件
java·容器·kubernetes
2301_7807896615 小时前
深度伪造即服务:新型网络诈骗的“完美面具”与识别之道
java·网络·ddos