回答
public Settings() {
this(null); //this is calling the next constructor
}
public Settings(Object o) {
// this one
}
這通常被用來傳遞默認值,這樣你就可以決定使用一個構造函數或其他..
public Person() {
this("Name");
}
public Person(String name) {
this(name,20)
}
public Person(String name, int age) {
//...
}
謝謝。例子真的有幫助! –
不客氣(: – porfiriopartida
這是一個構造函數,它調用同一個類中的另一個構造函數。
您可能有這樣的事情:
public class Settings {
public Settings() {
this(null); // <-- This is calling the constructor below
}
public Settings(object someValue) {
}
}
通常這種模式被使用,以便您可以(通過呼叫者的易用性)提供了用較少的參數的構造函數,但仍保持包含在一個邏輯地方(被調用的構造函數)。
它在Settings類中調用一個不同的構造函數。 查找另一個接受單個參數的構造函數。
這意味着你正在調用一個重載的構造函數,它需要某種類型的Object
,但是你不傳遞一個對象,而是一個普通的null
。
可以調用一個繼承的構造函數,或者看起來不同? – ametren
不,它不能@ametren,如果你想這樣做,你必須用'super(this)' –
來完成它,那麼你可以用super來調用父構造函數,如果Settings將擴展一個接收String作爲參數的類,你可以使用超級(「somestring」) – porfiriopartida
它調用默認的構造函數傳遞零作爲參數...
嘗試讀取java中的重載構造函數,並且調用只有一個參數 的構造函數..
。
public Settings() {
this(null);
}
public Settings(Object obj){
}
這在Java
稱爲Constructor Chaining
。通過這個調用,你實際上調用了你的類對象的重載構造函數。例
class Employee extends Person {
public Employee() {
this("2") //Invoke Employee's overloaded constructor";
}
public Employee(String s) {
System.out.println(s);
}
}
這基本上調用同一個班的每一個所提及的其他參數化的構造函數。
有一點需要注意,如果沒有可用的參數化構造函數,它將產生一個錯誤。
我不認爲用null值傳遞this()會有任何用處。但問一個問題可能是一個棘手的問題。 :)
- 1. Java「this」null檢查計劃任務
- 2. getAllowAttributes this Returning NULL - Magento
- 3. PhotonView.Get(this)返回null
- 4. jQuery $(this).attr('id')返回null
- 5. Javascript undefined error:`this` is null
- 6. DataBindingUtil.setContentView(this,resource)返回null
- 7. 「object = this」in java
- 8. 「synchronized(this)」與「synchronized((BaseClass)this)」in Java?
- 9. this = this在反編譯的Java中
- 10. Java - 'this'運算符
- 11. `return $ this-> foo()=== null`是什麼意思?
- 12. d3.mouse(this)引發TypeError:t爲null
- 13. React Store對`this`的值返回null
- 14. 爲什麼FocusManager.GetFocusedElement(this)總是返回null?
- 15. 調試:自動檢查是否(this == NULL)
- 16. NfcAdapter.getDefaultAdapter(this)在模擬器中返回null
- 17. PrestaShop $ this-> context-> smarty爲null
- 18. Java string null檢查!= null或!str.equals(null)?
- 19. Java泛型<this??>
- 20. Java:傳入「this」的副本?
- 21. 「this」is not recognized - Java JTable
- 22. Java Game error(Array,this。,methods)
- 23. 使用「this」。在Java中
- 24. 扣除Java中的「this」?
- 25. java構造函數:this(。)
- 26. java null reference copy
- 27. java mysql input NULL
- 28. Java Scanner null out
- 29. Java Socket in.readLine NULL
- 30. null異常java
需要更多的上下文。這是在類定義中嗎? –
可能的重複[這是什麼類型的java構造函數?構造函數鏈?](http://stackoverflow.com/questions/9204560/what-type-of-java-constructors-are-these-constructor-chaining) –
可能的重複[如何在Java中調用另一個構造函數?](http://stackoverflow.com/questions/285177/how-do-i-call-one-constructor-from-another-in-java) –