@Delegate
是 Lombok 提供的一个注解,可以将其他类的方法注入到当前类中。通过 @Delegate
注解,我们可以在当前类中使用被注入类的方法,而无需显式地在当前类中编写这些方法的实现。
下面是一个简单的示例代码:
import lombok.experimental.Delegate;
interface Worker {
void work();
}
class Robot implements Worker {
public void work() {
System.out.println("Robot is working");
}
}
public class DelegateExample {
@Delegate
private final Worker worker = new Robot();
public static void main(String[] args) {
DelegateExample example = new DelegateExample();
example.work(); // 输出 "Robot is working"
}
}
在上面的示例中,我们定义了一个接口 Worker
和一个实现类 Robot
,Robot
类实现了 Worker
接口的 work
方法。然后我们使用 @Delegate
注解将 Robot
类的方法注入到 DelegateExample
类中,这样我们就可以在 DelegateExample
类中直接调用 work
方法,而不需要在 DelegateExample
类中实现 work
方法。