接口
接口
生活中的接口
如笔记本上的usb接口可以连接键盘和鼠标
生活中的接口特点:
接口是可以扩展功能的
接口是一种规范、是一种约束
接口是灵活的
java中的接口
接口是抽象类和常量的集合,jdk1.8后接口中可以包含静态方法和默认方法
语法格式:
修饰符 interface 接口名{}
接口里的格式:
接口中可以包含三类方法:抽象方法、默认方法、静态方法。
静态方法可以通过“接口名.方法名”的形式来调用。
抽象方法和默认方法只能通过接口实现类的实例对象来调用
接口的注意事项:
接口不能有构造方法
接口不能直接创建对象使用的
案例:
public static void main(String[] args) {
DemoImp Imp = new DemoImp();
Imp.eat();
Imp.pyte();
System.out.println(InterfaceDemo.selID());
}
}
interface InterfaceDemo{
//常量
static final int ID=1;
//抽象方法
public abstract void eat();
//默认方法
public default void pyte(){
System.out.println("玩耍");
}
//静态方法
public static int selID(){
return ID;
}
}
class DemoImp implements InterfaceDemo {
@Override
public void eat() {
System.out.println("吃饭");
}
@Override
public void pyte() {
System.out.println("玩耍+1");
}
}
应用场景:
当我们重新编写一些简单的功能或者一些标准的时候使用接口
某个问题不需要继承,只需要很多子类给出重复的abstract方法的具体实现细节,就用接口
接口是一种规范 一种标准 同时接口也是灵活的
关系:
接口和接口之间的关系才是继承
而接口和类之间的关系是实现 类实现这个接口
抽象类和接口的对比
比较点 | 抽象类 | 接口 |
定义 | 用abstract关键字来修饰的类 | interface关键字来修饰的接口 |
组成 | 抽象方法、普通方法、构造方法、成员变量、常量 | 静态常量、抽象方法、默认方法、静态方法 |
使用 |
子类继承(exends) | 实现类实现(implements) |
关系 | 抽象类可以实现接口 | 接口时不能继承抽象类的 |
对象 | 都是通过对象的多态类实现 | 都是通过对象的多态类实现 |
局限 | 不能多继承、不能实例化 | 可以多继承、不能实例化 |
选择 | 建议选择接口 避免单继承 | 建议选择接口 避免单继承 |
实际 | 模板 | 标准 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)