接口
接口的作用主要是实现不同事物或对象不能提取一个父类出来,侧重点是:
行为的抽象;
只要有行为的对象都可以通过接口实现行为
定义一个接口
java语言对接口的支持需要配合关键字 interface ,仍然定义在 .java 文件中。且编译完之后仍会
产生.class文件。所以,本质上 接口也是一种特殊类型的 类。
//定义格式
interface 接口名{ //将class关键字替换为 interface 关键字。
}
接口的组成
- 可以包含成员变量,且只能是常量,必须赋值且赋值一次。这些常量都是静态的
int a = 10
public int a = 10
public static int a =10
public static final int a =10
(系统默认形式,写成上述形式都会转成这个)
-
接口不可以包含任何构造方法
-
成员方法: 必须都是抽象方法
- 非静态的方法必须去掉方法体,用分号结束。
- 修饰符的部分:
void m1()
public void m1()
public abstract void m1()
-
静态方法:正常写就ok
接口的使用
- 接口可以被其他接口继承
interface 接口1{
} i
nterface 接口2 extends 接口1{
}
- 接口可以被其他类实现 implements 关键字
interface 接口{
} c
lass 类 implements 接口{
}
接口的特点
- 类与类
- 继承关系,只支持单继承,可以多层继承。
- 通过final来阻断
- 类与接口
- 实现关系。既可以单实现,也可以多实现。最复杂的场景就是继承一个类的同时实现某些接
口
- 实现关系。既可以单实现,也可以多实现。最复杂的场景就是继承一个类的同时实现某些接
- 接口与接口
- 是继承关系。既可以单继承,也可以多继承。
接口和抽象类的区别
- 成员上的区别
- 接口:常量、抽象方法、静态方法
- 抽象类:变量、常量、成员方法、抽象成员方法、静态方法
- 关系上的区别
- 设计理念上的差别