是否可以将默认实现添加到表示侦听器的接口的方法中?
在我的项目中使用了一个特定的库。这个库有一个接口,里面有大约15个方法。
此接口的目的是可以订阅库中生成的某些事件。应用程序中的侦听器类可以实现此接口,并在库中将自身注册为侦听器以接收事件。
此接口中的所有方法实际上都是事件。可能有侦听器只需要从接口中的许多事件中接收一个或两个事件。即使侦听器只对少数事件感兴趣,侦听器在扩展接口时也必须实现所有方法。
因此,我要求此库的开发人员向接口中的方法添加空的默认实现。
但是库开发人员拒绝添加默认实现,声称这将违反java最佳实践,并且在接口方法中使用默认实现违背了接口的目的。
但是,正如我所理解的,此接口中的方法未指定此接口的实现者应能够执行的某些操作。此接口中的方法定义实现者可能感兴趣的事件。因此,我看不出不添加默认实现的明确理由。
那么,向此接口添加默认实现是否会破坏 Java 最佳实践?