为什么我们需要在同一个类中链接构造函数而不是使用方法?

zhte4eai  于 2021-07-05  发布在  Java
关注(0)|答案(0)|浏览(158)

我在学习构装商链,我得到了两个案例。一种是初始化父类,这是可以的。默认情况下,java调用父类的构造函数,如果需要,我们可以使用super。
我得到的另一个案例与代码冗余有关。下面是一个例子。

class Student {
    int id;
    String name, city;

    Student ( int id, String name, String city ) {
        this(id, name);
        this.city = city;
    }

    Student(int id, String name) {
        this.id = id;
        this.name  = name;
    }

    void display() {
        System.out.println( this.id + this.city + this.name);
    }

}

//上面的例子很好,我可以看到我不必编写初始化name和city的代码,但同样的代码可以编写如下

class Student1 {
    int id;
    String name, city;

    Student1 ( int id, String name, String city ) {
        this.setStudent(id, name);
        this.city = city;
    }

    private void setStudent ( int id, String name) {
        this.id = id;
        this.name = name;
    }

    void display() {
        System.out.println( this.id + this.city + this.name);
    }
}

我试图了解是否有任何特定的用例,我们需要构造函数链接和初始化方法风格将不适用。如果不是,那么一个比另一个有什么优势,或者为什么首选构造函数链接?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题