java接口特性
概述
- java中的接口,不经可以定义抽象方法,也可以定义非抽象方法
- 抽象方法和以前一样,默认加上public abstract,不能有方法体‘
- 非抽象方法,必须有方法体,声明上必须加上default或者static
default
-
使用default关键字的原因:
- jdk7中所有的方法都是抽象方法,某个类一旦实现了接口,就必须重写接口中的所有的抽象方法
- java8在接口中添加了很多的功能,但又担心以前的老版本不能使用了,给新的功能增加了默认的实现,并且不强制重写这个方法就加上default,,这类方法就加上default来修饰
-
使用规则:
- 可以不重写就能够调用,也可以重写
- 特殊情况1:实现类实现了两个接口,但是又两个相同的默认方法,会强制重写这个方法。
static
-
含义:
- 在接口中可以定义静态方法
-
使用:
- 直接接口名称.静态方法名();
-
注意事项:
- static和abstract不能共存
- abstract方法,在抽象类或者接口中,需要定义实现类对象才能调用的方法
- static关键字,可以在不创建对象的前提下调用
- 只能通过接口名称调用static方法,不能使用实现类调用,会有安全隐患。