接口的定义
用interface关键字,格式如下
public interface 接口名{
}
接口的使用
1)接口不能实例化
2)类实现接口用implements关键字修饰
3)实现类需实现接口中所有的抽象方法,否则是抽象类
4)一个类可以实现多个接口
public class 类名 implements 接口1,接口2 {
}
5)接口可以单继承,也可以多继承,即一个接口可以继承多个接口。如:
interface1 extends interface2, interface3 { }
当 classA implements interface1 时,除了实现interface1的抽象方法,还必须实现其父类interface2, interface3的所有抽象方法
接口中成员的特点
jdk7以前:接口只能定义抽象方法
jdk8开始:接口可以定义有方法体的方法(默认方法default修饰、静态方法static修饰)
jdk9开始:接口可以定义private修饰的私有方法
成员变量
默认修饰符是public static final,可以省略
构造方法
不存在,没有
成员方法
1、抽象方法
1)默认的修饰符是public abstract,可以省略
2)无方法体
2、默认方法
1)用default关键字修饰,有方法体
2)默认方法的定义格式如下,public可以省略
public default 返回值类型 方法名(参数列表) {
}
3)默认方法不强制子类重写,若要重写,重写的时候去掉default关键字
4)一个类实现多个接口,多个接口存在相同的默认方法名,这种情况该类中必须重写默认方法
3、静态方法
1)用static修饰
2)静态方法的定义格式如下,public可以省略
public static 返回值类型 方法名(参数列表){
}
3)静态方法只能用接口名调用,对象或类名不能调用
4、私有方法
1