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. 接口的实现 :我们创建了两个类 CarBike,分别实现了 Vehicle 接口。在每个类中,实现了接口方法,定义了具体的行为,比如如何启动和停止车辆,以及获取车辆状态。
  2. 主方法的调用 :在 main 方法中,我们创建了 CarBike 的实例,并通过接口类型的变量 myCarmyBike 调用它们的行为。这种方式显示了接口的多态性。
相关推荐
刃神太酷啦18 小时前
力扣校招算法通关:双指针技巧全场景拆解 —— 从数组操作到环检测的高效解题范式
java·c语言·数据结构·c++·算法·leetcode·职场和发展
Mos_x18 小时前
计算机组成原理核心知识点梳理
java·后端
墨寒博客栈18 小时前
Linux基础常用命令
java·linux·运维·服务器·前端
回忆是昨天里的海18 小时前
k8s-部署springboot容器化应用
java·容器·kubernetes
INFINI Labs18 小时前
使用 Docker Compose 轻松实现 INFINI Console 离线部署与持久化管理
java·docker·eureka·devops·docker compose·console·easyserach
Cosolar18 小时前
国产麒麟系统 aarch64 架构 PostgreSQL 15 源码编译安装完整教程
java·后端
GalaxyPokemon18 小时前
PlayerFeedback 插件开发日志
java·服务器·前端
天天摸鱼的java工程师19 小时前
别再写那些重复代码了!8年Java老兵教你用 Hutool 提升开发效率
java·后端
喝杯绿茶19 小时前
springboot中的事务
java·spring boot·后端