一、JDK8开始接口中新增的方法
-
接口中的默认方法
-
默认方法定义
使用default关键字定义
格式:
public default 返回值 方法名(参数列表){} 范例: public default void show(){}
-
注意事项
(1)定义默认方法,public可以省略,default不可以省略
(2)默认方法不是抽象方法,可以不用重写;要重写的话,重写时要去掉default关键字
(3)一个类实现多个接口,如果接口中有重复的默认方法,必需要重写;且以重写过后的方法为基准
-
默认方法作用
用于解决接口升级的问题
-
-
接口中的静态方法
-
静态方法定义
使用static关键字定义
定义格式:
public static 返回值 方法名(参数列表){} 范例: public static void show(){}
-
注意事项
(1)静态方法只能通过接口名调用,不能通过实现类名或对象名调用;同样也无需重写
(2)public 可以省略,static不可以省略
-
二、JDK9接口新增的方法(私有)
目的是:私有方法只为inter接口提供服务,不需要外类访问
-
私有方法
1.定义格式
private 返回值 方法名(参数列表){} 范例: private void show(){}
2.作用:普通私有方法,为默认方法服务
-
静态私有方法
1.定义格式
private static 返回值 方法名(参数列表){} 范例: private static void show(){}
2.作用:静态私有方法,为静态方法服务
三、接口的应用
-
应用1
接口代表规则,是行为的抽象。想要让子类拥有一定的行为,只需要实现对应的接口
-
应用2:接口的多态
当一个方法的参数是接口时,他会传递接口所有实现类的对象,这种方式成为接口多态
ps:在一个方法中如果参数写成了接口,那么调用这个方法的时候,就可以传递这个接口所有实现类对象,只要左边的搬家公司类和搬运车类,去实现右边的运输接口,那么在调用搬家方法的时候,车的对象,搬家公司的对象都会传递过来
四、适配器设计模式
设计模式:
一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结;实用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性
简单来说:设计模式就是各种套路
适配器设计模式:解决接口与接口实现类之间的矛盾问题
使用场景:当一个接口中抽象方法太多,但只需使用其中一部分的时候,可以使用适配器设计模式
使用步骤:
-
编写中间类,类名为×××Adapt,实现对应接口;在×××Adapt类中对接口的抽象方法进行空实现
-
让真正的实现类继承×××Adapt,并重写需要用到的方法;为了避免其他类创建适配器对象,需要在适配器类上加abstract
注意:如果实现类需要继承某一个父类,那么要在适配器类上继承父类,做到间接继承
作者的话
给大家拜个晚年呀,过年前后真的是好忙啊。各路“牛鬼蛇神”都来了,从今天恢复更新,望大家监督!!!