概念
接口可以理解为抽象到不能再抽象的类,。
定义和使用
接口用关键字interface来定义
public interface 接口名{}
接口不能实例化
接口和类之间是实现关系,通过implements关键字表示
public class 类名 implements 接口名{}
接口中所有方法默认是公有的抽象方法。
隐式地标识为public、abstract,并且接口中的方法也只允许使用这两个修饰符。
在接口中所有变量默认为公有的静态常量。
被隐式地标识为public、static、final。这意味着实现接口的类不能修改它们。同时还必须初始化它们。
接口的子类(实现类)
要么重写接口中的所有抽象方法
要么是抽象类
接口中的方法全部都是抽象方法,不能存在实现的方法。
注意
接口和类的实现关系,可以单实现,也可以多实现
public class 类名 implements 接口名1,接口名2{}
实现类还可以继承一个类的同时实现多个接口
public class 类名 extends 父类 implements 接口名1,接口名2{}
接口中成员的特点
成员变量
只能是常量
默认修饰符:public static final
没有构造方法
成员方法
只能是抽象方法
默认修饰符:public abstract
接口和类之间的关系
类和类的关系
继承关系,只能单继承,不能多继承,但是可以多层继承,
类和接口的关系
实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口
接口和接口的关系
继承关系,可以单继承,也可以多继承
实例
public interface Shape {
double area();
void show();
void draw();
}
public interface Usb {
public abstract void usbOpen();
public abstract void usbClose();
}