接口
接口的定义
是指对协定进行定义的引用类型。其他类型实现接口,以保证它们支持某些操作。接口指定必须由类提供的成员或实现它的其他接口。与类相似,接口可以包含方法、属性、索引器和事件作为成员。
接口中 是抽象方法的集合,只定义功能,不实现功能,用于让实现类去实现功能
接口是一种引用数据类型,可以看做是一种特殊的抽象类,完全抽象,一个类只能继承一个父类,但是可以实现多个接口
接口和接口之间 是多继承 用逗号隔开 extends xx,xxx,xxxxx
类和接口之间是多实现,用逗号隔开 implements xxx,xxx,xxx,xxx
简单来说,接口就是定义一些方法和类,方便对接,可以在多个地方实现这个接口,其中并没有内容,需要实现什么功能,就写什么功能就行。
声明方式
由 class 变成了 interface
语法
[修饰符] interface 接口名 { }
public interface IUserService{
//用户添加
public void add(User user);
public void m1(int i );
//用户登录
public void login(User user);
}
``
版本问题
1.7 只能有抽象方法
1.8 开始 可以有静态 可以有default (可以理解为成员方法,实现类可以调用可以覆写)
静态方法,使用接口名调用就行
default方法需要使用实现类对象调用 public default 返回值 方法名(参数) { 方法体 }
1.9 开始 支持 private 方法
注意
接口中 不支持成员变量,一般是static和final 并且 public static final 可以省略。
接口中 抽象方法 不需要加abstract 也不需要加public 因为默认就是。
接口没有构造方法,不能被实例化对象。
一个抽象类实现接口,可以实现 0~N个抽象方法。
一个非抽象类实现接口,需要实现所有的抽象方法。