小编qwe*_*zer的帖子

在方法重写中返回继承的类而不是超类

我有一个看起来像这样的类结构:

class Parent {
    public Parent(int property) { /* use property */}
}
class Son extends Parent {
    public Son(int parentProperty, String sonProperty) { 
        super(parentProperty);
        /* use son property */ 
    }
}
Run Code Online (Sandbox Code Playgroud)

我想为这两个类创建构建器,以便:

class ParentBuilder {
    protected int parentProperty;

    public ParentBuilder parentProperty(int parentPropertyValue) {
        parentPropertyValue = parentPropertyValue;
        return this;
    }

    public Parent build() {
        return new Parent(parentProperty);
    }
}
class SonBuilder extends ParentBuilder {
    private String sonProperty;

    public SonBuilder sonProperty(String sonProperty) {
        this.sonProperty = sonProperty;
        return this;
    }

    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

java inheritance overriding fluent builder

4
推荐指数
1
解决办法
126
查看次数

标签 统计

builder ×1

fluent ×1

inheritance ×1

java ×1

overriding ×1