Java接口

Java接口是一种抽象的数据类型,定义了一组方法的集合,而不是具体的实现。接口可以被类实现,一个类可以实现多个接口。在Java中,接口使用关键字interface来定义。

接口中的方法默认是public和abstract的,不需要显示地声明。接口中可以包含常量,常量默认是public static final的。接口中不能包含实例变量。接口可以继承其他接口,但是不能继承类。

接口的主要作用是定义一种约定,它规定了实现类必须提供哪些方法。这样,不同的实现类可以有不同的具体实现,但是它们都必须提供接口中定义的方法。

接口的另一个作用是实现多态。通过接口,可以将不同的对象当做同一种类型来使用,从而实现代码的可扩展性和可维护性。

以下是一个Java接口的示例:

java 复制代码
public interface Animal {
    void eat();
    void sleep();
}

public class Cat implements Animal {
    @Override
    public void eat() {
        System.out.println("Cat is eating");
    }

    @Override
    public void sleep() {
        System.out.println("Cat is sleeping");
    }
}

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

    @Override
    public void sleep() {
        System.out.println("Dog is sleeping");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal cat = new Cat();
        Animal dog = new Dog();

        cat.eat();
        cat.sleep();

        dog.eat();
        dog.sleep();
    }
}

在这个示例中,Animal是一个接口,定义了eat()和sleep()两个方法。Cat和Dog类都实现了Animal接口,提供了自己的具体实现。在Main类中,我们可以将Cat和Dog对象当做Animal类型来使用,这样可以方便地添加新的Animal实现类。

相关推荐
Pniubi2 小时前
模拟一个充值送token怎么保证幂等?一致性?原子性?
java
企业数字化笔记2 小时前
多租户配额怎么控制?用量口径、并发预留与超额处理的实现方法
java·数据库·spring boot
星夜离尘563 小时前
MATLAB 线性去趋势为何损伤低频正弦:联合最小二乘估计幅相与漂移
开发语言·matlab
巴勒个啦3 小时前
Prompt Engineering 实战:5 个让 AI 生成生产级业务代码的工程模式
java·前端
倚楼听风语3 小时前
Kotlin 协程与 suspend 原理详解
java·算法·kotlin
程序员清风3 小时前
双指针与滑动窗口:高效处理连续区间
开发语言·算法
开开心心就好3 小时前
文件被占用删不掉?解锁工具强制删除
java·运维·服务器·开发语言·前端·pdf·ocr
weixin_460443564 小时前
Java+Linux私有化训考平台:服务、数据库与终端部署结构解析
java·linux·数据库·私有化部署·企业培训考试系统·企业考试系统
云和数据.ChenGuang4 小时前
python大小整数范围解析
java·开发语言·python
Java内核笔记4 小时前
Spring AI 生产级 Chat 接口:6 个开关、13 个坑,其中 2 个开关根本没生效
java·人工智能·后端