一、介绍
接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,再根据具体情况实现这些方法。用于规范管理
二、语法
public interface 接口名 {
属性;
方法;
实现默认方法时要加上关键字 default
实现静态方法时要加上关键字 static
除此之外,接口中的方法默认是抽象方法,但可以省略关键字 abstract
}
jdk8 以后接口里可以有静态方法和默认方法,也就是接口里可以有方法的具体实现
class 类名 implements 接口名{
自己的属性;
自己的方法;
必须实现的接口的方法;
}
一个类实现某个接口时需要将接口的所有抽象方法都实现
三、使用细节
- 接口是一种引用数据类型,编译之后也是一个class字节码文件
- 接口中只允许有
常量
和抽象方法
,并且都是public
修饰的 - 接口不可以通过new来创建实例化对象,因为接口本身也是抽象类
- 一个普通类要实现接口,就得将接口中的所有方法都实现
- 抽象类实现接口可以不用实现接口的方法
- 一个类可以同时实现多个接口
- 接口中的属性都是 public static final 修饰的 比如,在接口中定义了一个属性 int a=1,实际上是
public static final int a =1;
并且属性必须在声明处初始化 - 因为属性是static的,所以属性的访问形式:
接口名.属性名
- 接口不能继承其他的类,但是可以继承多个其他的接口
- 接口的修饰符只能是默认和
public
四、补充
- 接口的多实现机制是对 java 的单继承机制的一种补充
- 继承的价值主要在于:解决代码的复用性和可维护性
- 接口的价值主要在于:师姐好各种规范,让其他的类来实现