关键字:interface
接口案例::
接口的特点:
1、接口也是一个抽象类
2、接口不能被实例化,可以使用多态的方式,即父接口引用指向子类实现类对象
3、接口的实现类
要么实现接口中的所有抽象方法
要么定义为抽象类
4、接口可以被其他接口继承(一个接口可以继承多个接口),也可以被类实现
接口的成员特点:
1、成员变量
只能是静态常量,默认前缀public static final
2、构造方法
接口没有构造方法
原因:类不会继承接口,实现接口的类的父类默认是object类或者是extends的类
3、成员方法
只能是抽象方法 ,默认前缀 public abstract
jdk8、jdk9接口的方法有所不同
4、jdk8新增default方法
格式:public default 返回值类型 方法名(参数列表){} //public可以省略
(这个方法使得接口和抽象类类似)
具体可以参考:一文带你认识Java8中接口的默认方法 - 悟小天 - 博客园
5、jdk8新增的静态方法
格式:public static 返回值类型 方法名(参数列表){} //public 可以省略
静态方法可以通过接口名调用,不能通过类名或者对象名调用
6、jdk9新增私有方法
格式1:private 返回值类型 方法名(参数列表){} //非静态
格式2:private static 返回值类型 方法名(参数列表){} //静态
注意事项:
default方法可以调用私有的静态方法和私有的非静态方法
静态方法只可以调用私有的静态方法