接口
基本介绍:
接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来
语法:
interface 接口名 {
// 属性
// 方法(1. 抽象方法 2. 默认实现方法 3. 静态方法)
}
class 类名 implements 接口{
// 自己的属性;
// 自己的方法;
// 必须实现的接口的抽象方法
}
小结:
- 在接口中,定义抽象方法,可以省略 abstract关键字
- 在JDK7.0之前 接口里的所有方法都没有方法体
- jdk8.0后接口类可以有 静态方法,默认方法,也就是说 接口中可以有方法的具体实现(方法体)
// 在jdk8后,可以默认实现方法,需要使用default 关键字来修饰
default public void ok(){ // 默认方法
System.out.println("ok..");
}
// public void yes(){ } // 会报错
public static void yes(){ // 静态方法
System.out.println("yes..");
}
接口detail:
- 接口不能被实例化
- 接口中所有的方法是public方法,接口中抽象方法,可以不用 abstract 修饰
- 一个普通类实现接口,就必须将接口的所有方法都实现(重写方法)
- 抽象类实现接口,可以不用实现接口的方法
- 一个类同时可以实现多个接口(多继承)
- 接口中的属性,只能是final 的,而且是 public static final 修饰符。
比如: int a = 1;实际上是 public static final int a = 1;(必须初始化)
-
接口中属性的访问形式: 接口名.属性名
-
一个接口不能继承其他的类,但是可以继承多个 别的接口
interface A extends B,C { }
-
接口中的修饰符 只能是 public 和 默认,这点和类的修饰符是一样的(同一个文件内 只能有一个