我在学习构装商链,我得到了两个案例。一种是初始化父类,这是可以的。默认情况下,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);
}
}
我试图了解是否有任何特定的用例,我们需要构造函数链接和初始化方法风格将不适用。如果不是,那么一个比另一个有什么优势,或者为什么首选构造函数链接?
暂无答案!
目前还没有任何答案,快来回答吧!