如何避免Java中的构造函数代码冗余?

我有以下课程:


class Pair

{

    String car;

    Integer cdr;


    public Pair () {}

    public Pair (String car) { this.car = car; }

    public Pair (Integer cdr) { this.cdr = cdr; }


    public Pair (String car, Integer cdr)

    {

        this(car);

        this(cdr);

    }

}

该类包含两个可选值,我想提供所有可能的构造函数排列。第一个版本不初始化任何内容,第二个版本仅初始化第一个值,第三个版本仅初始化第二个值。


最后一个构造函数是第二个和第三个的组合。但是不可能写下来,因为代码失败了。


builder.java:13:对此的调用必须是构造函数中的第一条语句

        这个(cdr);

            ^

1个错误

是否可以编写没有任何代码冗余(也无需调用相同的setter方法)的最后一个构造函数?


人到中年有点甜
浏览 498回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java