1. 接口定义
接口就是多个类的公共规范。
接口是一种引用数据类型,最重要的内容就是其中的抽象方法。
定义一个接口的格式:
public interface 接口名称{
//接口内容
}
备注:换成了关键字interface之后,编译生成的字节码文件仍然是:.java ——> .class
如果是java 7,那么接口中可以包含的内容有:
1.常量
2.抽象方法
如果是java 8,那么还可以额外包含有:
3.默认方法
4.静态方法
如果是java 9,还可以额外包含有:
5.私有方法
2. 接口使用步骤
1.接口不能直接使用,必须有一个“实现类”来“实现”该接口。
格式:
public class 实现类 implements 接口名称{
//...
}
2.接口的实现类必须覆盖重写(实现)接口中所有的抽象方法
实现:去掉abstract关键字,加上方法体大括号
3.创建实现类的对象进行使用,
例如,MethodInterface是一个接口,MethodInterfaceImpl是这个接口的实现类,
那么当new对象的时候,就需要通过MethodInterfaceImpl来new接口对象
MethodInterfaceImpl interface = new MethodInterfaceImpl(); //正确写法
MethodInterface interface = new MethodInterface(); //错误写法
3. 接口的抽象方法
在任何的版本中,接口都能定义抽象方法。
格式:
public abstract 返回值类型 方法名称(参数列表);
注意事项:
1.接口当中的抽象方法,修饰符必须是两个固定的关键字:public abstract
2.这两个关键的修饰符可以选择性的省略
3.方法的三要素可以随意定义
4. 接口的默认方法
1.接口的默认方法:可以通过接口实现类对象,直接调用;
2.接口的默认方法:也可以通过接口实现类进行覆盖重写。
接口当中的默认方法可以解决接口的升级问题,即可以在实现类已经实现好了接口以后,在接口当中继续添加抽象方法,并且不报错。
格式:
public default 返回值类型 方法名称 (参数列表){
方法体
}
5. 接口的静态方法
1.接口中的静态方法定义格式:
public static 返回值类型 方法名称(参数列表){
方法体
}
2.注意事项:不能通过接口实现类的对象来调用接口当中的静态方法
正确用法:通过接口名称,直接调用其中的静态方法
调用格式:
接口名称.静态方法名(参数)