[英]What is the best way to test constructor (or setters) with JUnit?
[英]what is the best way to overload constructor?
在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();
設置的默認值this();
被下一個 setter 覆蓋。
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);
}
這只是為了避免代碼重復。
另外:你不應該在構造函數中調用 setter,除非你確定它們不能在子類中被覆蓋,否則你永遠不會知道它們(可能)做什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.