超载构造函数的最佳方法是什么?



在java中,我应该写:

public Livre() {
    this.setAutor("");
    this.setTitle("");
}
public Livre(String a, String t) {
    this();
    this.setAuteur(a);
    this.setTitre(t);
}

public Livre() {
    this("", "");
}
public Livre(String a, String t) {
    this.setAutor(a);
    this.setTitle(t);
}

第一个在默认构造函数中具有所有默认值,但是第二个似乎更广泛,为什么?

谢谢

ps:对不起我的英语

public Livre() {
    this.setAutor("");
    this.setTitle("");
}
public Livre(String a, String t) {
    this();
    this.setAuteur(a);
    this.setTitre(t);
}

这几乎没有任何意义,因为您通过调用this();所设置的默认值被接下来的setters覆盖。

public Livre() {
    this("", "");
}
public Livre(String a, String t) {
    this.setAutor(a);
    this.setTitle(t);
}

这与:

相同
public Livre() {
    this.setAutor("");
    this.setTitle("");
}
public Livre(String a, String t) {
    this.setAutor(a);
    this.setTitle(t);
}

只是为了避免代码重复。

另外:您不应该在构造函数中调用播放器,除非您确定他们不能在儿童课中覆盖它们,否则您永远不会知道他们(可能(确定会做什么。

最新更新