为所需的超级字段生成构造函数

时间:2017-02-15 09:27:29

标签: java lombok

我有以下课程:

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public abstract class EmailData {

    private final Iterable<String> recipients;
}

以及以下子类:

import lombok.Getter;

@Getter
public class PasswordRecoveryEmail extends EmailData {

    private final String token;
}

是否有可能以这样的方式注释PasswordRecoveryEmail,以便生成所需类和超类字段的构造函数?

1 个答案:

答案 0 :(得分:5)

@…Constructor注释不会显式调用构造函数,因此它们都依赖于默认构造函数来执行正确的工作。所以,不,你不能说服龙目岛为你创建这些构造函数。

你能得到的最接近的是:

  1. EmailData protected中提供默认构造函数(无参数),并为recipients分配一些合理的值。
  2. 自己编写PasswordRecoveryEmail所需的args构造函数。
  3. 根据我的经验,Lombok通常不会完全接受继承。