#博学谷IT学习技术支持##博学谷IT学习技术支持#
什么是接口?
1.接口:当一个类中所有的方法都是抽象方法时就可以将其定义为接口,它是一种引用数据类型。
2.意义:1.规则的定义 2.程序的扩展性
3.定义格式: public interface 接口名{ }
4.接口与类之间是实现关系 ,通过implements 关键字表示。
5.格式:public class 类名 implements 接口名 { }
接口中成员特点:
1.只能是常量
2.不能有构造方法
3.只能是抽象方法(JDK7之前,JDK8之后可以有抽象方法,需要使用default修饰,这些方法是默认方法)
格式:public default 返回值类型 方法名(参数列表){
}
注意事项:1.默认方法不是抽象方法,不强制重写,但是重写时需要去掉default关键字
2.public可以省略,default不能省略
3.如果有多个接口,接口中存在相同的方法声明,子类必须重写
JDK8之后允许定义static静态方法
格式:public static 返回值类型 方法名(参数列表){ }
例:public static void show(){ }
注意事项:
1.只能通过接口名调用,不能通过类名. 对象名调用
2.public可以省略,static不能省略
JDK9中成员特点:
1.接口中允许存在private
格式:private 返回值类型 方法名(参数列表){ }
例:private void show(){ }
接口使用思路:
1.如果一个类中所有的方法都是抽象方法,那么就可以把该类改进成一个接口
2.涉及接口大面积更新方法,而不想去改变每一个实现类就可以将更新的方法定义为带有方法体的方法
3.想默认方法调用的更简洁可以考虑static静态方法(去掉default关键字)
4.默认方法出现重复代码时,可以考虑抽取一个私有方法(去掉default关键字)
类与类的关系:
继承关系,而且只能单继承不能多继承 但是可以多层继承
类与接口的关系:
实现关系,可以单实现,也可以多实现,还可以继承一个类的同时实现多个接口
接口与接口的关系:
继承关系:可以单继承也可以多继承