接口:多个类的公共规范,是一种应用数据类型。
定义格式:public interface 接口名称{ }
接口中可以包含的内容:常量、抽象方法、默认方法、静态方法、私有方法
使用步骤:
1.接口不能直接使用,必须有一个“实现类”,来实现该接口;
格式; public class 实现类名称 implements 接口名称{ }
2.接口的实现类必须覆盖重写接口中的所有抽象方法:去掉abstract关键字,加上方法体大括号;
3.创建实现类的对象,进行使用。
抽象方法:接口中的抽象方法,修饰符必须是两个固定的关键字:public abstract(这两个关键字可以选择性地省略)
默认方法:可以通过接口实现类对象直接调用,也可以被接口实现类覆盖重写;
格式:public default 返回值类型 方法名称(参数列表){
//方法体
}
静态方法:不能通过接口实现类的对象调用接口中的静态方法,通过接口名称直接调用其中的静态方法,调用格式:接口名称.静态方法名(参数);
格式:public static 返回值类型 方法名称(参数列表){
//方法体
}
私有方法:
1.普通私有方法:解决多个默认方法之间重复代码问题
格式:private 返回值类型 方法名称(参数列表){
//方法体
}
2.静态私有方法:解决多个静态方法之间代码重复问题
格式:private static 返回值类型 方法名称(参数列表){
//方法体
}
常量定义和使用
接口中可以定义“成员变量”,但是必须使用public static final三个关键字进行修饰,也必须赋值;
格式:public static final 数据类型 常量名称 = 数据值;
接口使用的注意事项:
1.接口是没有静态代码块或者构造方法的;
2.一个类的直接父类是唯一的,但是一个类可以同时实现多个接口;
格式:public class 实现类名称 implements 接口A,接口B{
//覆盖重写所有的抽象方法
}
3.当多个接口中含有冲突的默认方法,则在实现类中必须覆盖重写;
4.接口与接口之间是多继承的;