接口的定义格式:
public interface 接口名称{
//.....
}
注意:接口也是一种数据类型,编译后也有对应的class文件接口中抽象方法的定义格式:
public abstract 返回值类型 方法名称(参数列表)
返回值类型和参数列表根据业务需求自己定义
接口中的抽象方法有固定修饰符:public abstract 不写也有,可以省略
初学者建议保留
实现类,重写接口中的方法的快捷键:ctrl+i
接口中的默认方法:
使用接口的实现类有多个,如果接口中新增功能,添加了新的抽象方法,所有的实现类,必须进行修改(覆盖重写),太麻烦
解决方案:默认方法
格式:
public default 返回值类型 方法名称(参数列表)
//方法体
}
使用格式:
必须使用现实类对象来调用
默认方法,并不强制要求实现类进行覆盖重写
但是实现类可以根据需求进行覆盖重写
接口中的静态方法的使用:
接口中的静态方法,只能使用接口名称进行调用,不能使用显示类对象调用
接口中的静态方法格式:
public static 返回值类型 方法名称(参数列表){
//方法体
}
注意:返回值类型和参数类表根据业务需求确定
接口或者类中的方法,不存在覆盖重写,因为他们属于类或者接口
接口中的私有方法:
接口中多个默认方法代码重复,使用普通的私有方进行优化(共性抽取)
普通的私有方法格式:
pruvate 返回值类型 方法名称 (参数列表){
方法体
}
注意:普通私有方法没有defaylt关键字
接口中多个静态方法类代码重复,使用私有静态的方法进行优化(共性抽取)
静态的私有方法格式:
private static 返回值类型 方法名称()(参数列表){
方法体;
}
注意:静态私有方法必须写static 关键字