简洁明了的Java接口

内容:Java黑马就业班 P171-184

接口使用步骤

1.接口不能直接使用,必须有一个实现类来实现该接口
格式:public class 实现类名称 implements 接口名称

2.接口的实现类必须覆盖重写(实现)接口中所有的抽象方法。
实现:去掉 abstract关键字,加上方法体大括号。

3.创建实现类的对象,进行使用。

注意事项:

1.接口是没有静态代码块或者构造方法的

2.一个类的直接父类是唯一的,但是一个类可以同时实现多个接口。
格式:public class MyInterfaceImpl implements MyInterfaceA,MyInterfaceB
需要覆盖重写所有抽象方法

3.如果实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写一次即可。

4.如果实现类没有覆盖重写所有接口当中的所有抽象方法,那么实现类就必须是一个抽象类

5.如果实现类锁实现的多个接口当中,存在重复的默认方法,那么实现类一定要对冲突的默认方法进行覆盖重写。

6.一个类如果直接父类当中的方法,和接囗当中的默认方法产生了冲突,优先用父类当中的方法

在Java9+版本中,接口的内容可以有:

1.成员变量其实是常量

格式:【public】【static】【fina1】数据类型常量名称=数据值;

注意:

  • 常量必须进行赋值,而且一旦赋值不能改变。
  • 常量名称完全大写,用下划线进行分隔。

2.接口中最重要的就是抽象方法

格式:【public】【abstract】返回值类型方法名称(参数列表);

注意: 实现类必须爱盖重写接口所有的抽象方法,除非实现类是抽象类。带有抽象方法的类一定是抽象类。

3.从Java8开始,接口里允许定义默认方法

格式:【public】default 返回值类型 方法名称(参数列表){方法体}

备注:接口当中的默认方法,可以解决接口升级的问题。

注意: 默认方法也可以被覆盖重写

4.从Java8开始,接口里允许定义静态方法

格式:【public】static 返回值 类型方法名称(参数列表){方法体}

注意: 应该通过接口名称进行调用,不能通过实现类对象调用接口静态方法。

5.从Java9开始,接口里允许定义私有方法

格式:

  • 普通私有方法:private 返回值类型 方法名称(参数列表){方法体}
  • 静态私有方法:private static 返回值类型 方法名称(参数列表){方法体}

备注:为什么会有静态私有方法?因为接口里的静态方法只能访问自己的静态方法!
附上个区分调用和访问,静态和非静态之间调用问题的链接:为什么静态方法中不可以直接访问非静态方法

注意: private的方法只有接口自己才能调用,不能被实现类或别人使用。

你可能感兴趣的:(JAVA基础)