接口是 Java面向对象特征的一部分,下面我们进行了解
接口
- 相信大家会经常听见XX接口,如USB接口、Type-C接口等等,大家都统一用这个USB线进行充电,传输数据,是一种串口总线标准,这个标准就是JAVA里面的接口。
- 接口就是一套协议,一套行为规范,为了降低耦合性。
1.定义
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
2.接口内部元素
- (1)接口不能被实例化(没有构造方法),只能被implements实现
- (2)定义变量(只能是静态成员变量) (默认修饰符 public static final) 静态直接访问
- (3)方法 :抽象方法(常用,不需要自己实现,谁用这个接口谁实现)
(接口里面默认修饰符 public abstract) 必须实现接口里定义的抽象方法 用 implements实现
类方法、默认方法、私有方法:可以实现
//用这种方式替代枚举
interface Season{
int Spring = 1;
int Summer = 2;
int Autumn = 3;
int Winter = 4;
}
interface t2{. //interface来定义
}
public interface DateInteraction {
interface Input{
void input();
}
interface Output {
void output();
}
}
//拿出来也可以
interface Input{
void input();
}
interface Output {
void output();
}
- (4)内部接口 : 实现内部接口只需要 接口.内部接口
3.抽象类与接口的区别
- (1) 抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
- (2) 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
- (3) 接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
- (4) 一个类只能继承一个抽象类,而一个类却可以实现多个接口。
4.接口与普通类的关系
- 普通类可以各种变量,接口只能定义static和final变量,当定义一个int类型变量 int前 默认显示 static final
- 普通类可以被实例化,有构造方法
- 接口不可以被实例化,只能有抽象方法,只能被类进行实现(继承)
- 一个类可以继承多个接口(实现多个接口的方法)
5.接口代码实现
- 简易 设备输入输出接口代码
定义一个数据交换接口
// 定义一个数据交换接口
public interface DateInteraction {
interface Input{
void input();
}
interface Output {
void output();
}
}
硬件设备实现接口 (电脑与外部进行交互 必须实现与数据交互的接口 通过implements实现)
public class Macbook_Pro implements DateInteraction.Input,DateInteraction.Output{
@Override
public void input() {
System.out.println("input");
}
@Override
public void output() {
System.out.println("output");
}
}
6.接口之间的继承
- 接口之间的继承与类的继承类似
- 类不能多继承;但接口可以实现多继承,继承的接口之间用 逗号, 隔开