我正在学习Java 8语法,并在下面的界面中在我们的应用程序中遇到了一段代码:
default EmployeeEnricher employeeEnricher() {
return builder -> {
return;
};
}
有人可以帮助我理解以上语法的含义吗?
该方法在应用程序中有多种实现,每种实现都有自己的逻辑。
答案 0 :(得分:5)
它仅返回一个EmployeeEnricher
,它基本上是一个Consumer<Builder>
(或同类型的功能接口),它的参数不执行任何操作,这意味着如果实现该接口的类没有{{ 1}}这种方法,它将成为它的默认行为(意味着什么也不会发生)。
在您的应用程序中,您会遇到不同类型的员工,这些员工可能会使用@Override
的参数中给定的构建器以不同的方式进行丰富
这意味着实施对我而言意味着两件事:
要么设计很差,所有员工都应该有自己的实现,这意味着该接口的方法不应为employeeEnricher().accept(builder)
,而应为接口的经典default
方法
有些员工没有在您的应用程序上下文中得到充实,因此此方法提供了一个有意义的默认实现