2017-02-15 42 views
6

我有下面的类:生成构造所需的超领域

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

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

你可以得到最接近它是要么:

  1. EmailDataprotected并指定一些合理的价值recipients提供一个默认的构造函数(无参数)。
  2. 自己编写PasswordRecoveryEmail的必需参数构造函数。

在我的经验中,龙目岛的遗产往往不是很完美。