У меня есть 2 класса, где родителю нужно какое-то свойство из дочернего класса при построении. Есть ли способ поддержать это с помощью сборщиков ломбоков?
Родительский.java
import lombok.Builder;
import lombok.Getter;
import lombok.experimental.SuperBuilder;
@Getter
@SuperBuilder
public abstract class Parent {
@Builder.Default
private String requestType = getRequestTypeFromSubclass();
abstract String getRequestTypeFromSubclass();
}
Child.java
import lombok.Builder;
import lombok.Getter;
import lombok.experimental.SuperBuilder;
import java.util.List;
@Getter
@SuperBuilder
public class Child extends Parent {
@Override
String getRequestTypeFromSubclass() {
return "Child1";
}
}
Вышеприведенное не удается компилировать с сообщением
ошибка: на нестатический метод getRequestType() нельзя ссылаться из статического контекста @SuperBuilder
abstract static
методы в Java. Я считаю, что такие случаи оправдывают эту концепцию, но общая предпосылка Java по-прежнему выглядит так: «полиморфизм является характеристикой наследования объектов, а не наследования классов». (Пока нет ответа, но я проверю). - person TreffnonX   schedule 09.12.2019