接口的组成更新概述:
接口中的默认方法:
格式:public default 返回值类型 方法名(参数列表) {};
范例:public default void show() {};
默认方法注意事项:
1.默认方法不是抽象方法,所以不需要实现类重写。但也可被重写,重写必须去掉default关键字;(实现类可同时实现多个接口,当不同接口中有相同方法时实现类就需要重写默认方法)
2.public关键字也可以省略,但default不能省略
接口中的静态方法:
格式:public static 返回值类型 方法名(参数列表) {};
范例:public static void show() {};
静态方法注意事项:
1.静态方法只能通过接口名调用,不能通过实现类或其对象名调用;(因为实现类同时实现多个接口,而不同接口中又有相同方法时无法区分调用的是哪个)
2.public关键字也可以省略,但static不能省略
接口中的私有方法:
产生原因:Java 9中新增了带方法体的私有方法,这其实在Java 8中就埋下了伏笔:Java 8允许在接口中定义带方法体的默认方法和静态方法。这样可能就会引发
一个问题:当两个默认方法或者静态方法中包含一段相同的代码实现时,程序必然考虑将这段实现代码抽取成一个共性方法,而这个共性方法是不需要让别人使用的,因此用
私有给隐藏起来,这就是Java 9增加私有方法的必然性。
格式和注意事项:
范例: