回答
this
是對當前實例的引用。 this()
是調用默認的構造函數。 super()
is explicit調用超類的默認構造函數。
所以'super'是對超類的引用? – 2012-02-01 07:12:50
@JJ劉燁,沒錯。 (:所以你可以用'super.aSuperMethod(var1,var2)'明確地調用protected/public超級方法' – Nishant 2012-02-01 07:14:47
this
是對當前對象的引用。 this()
是對默認構造函數的調用;它只在另一個構造函數中是合法的,並且只是作爲構造函數中的第一條語句。您也可以調用super()
來調用超類的默認構造函數(同樣,僅作爲構造函數的第一條語句)。事實上,如果代碼中不存在this()
或super()
(帶有或不帶參數),那麼這實際上是由編譯器自動插入的。例如:
public class A {
A() {
super(); // call to default superclass constructor.
}
A(int arg) {
this(); // invokes default constructor
// do something special with arg
}
A(int arg, int arg2) {
this(arg); // invokes above constructor
// do something with arg2
}
}
感謝,當你做'超()',做差價你總是調用默認的無參數超類的構造函數?我的意思是,當你說默認構造函數時,你是否總是指沒有參數的那個? – 2012-02-01 07:16:15
@JJLiu - 如果超類定義了一個帶有args的構造函數,則可以調用'super(args)'。 – 2012-02-01 07:38:16
是的,Java有this()
。 this()
調用當前類的構造函數的無參數重載。 this
是對類的當前實例(對象)的引用。
this
是用於保存當前對象的引用ID的關鍵字java
。
雖然,this()
是對java program
中默認構造函數的調用。
爲this()
的代碼段:
class ThisTest{
ThisTest(){
System.out.println("this is the default constructor of your class");
}
ThisTest(int val){
this();
System.out.println("this is the parameterized constructor of your class and the passed value is "+val);
}
public static void main(String...args){
ThisTest tt=new ThisTest(10);
}
}
在上面的代碼中你會使用參數的構造函數,但this()
創建類的對象必須是你的任何構造函數首先調用任何其它構造。
您還可以更改上面的代碼:
ThisTest(){
this(10);
//above code
}
ThisTest(int val){
//above code
}
public static void main(string...args){
ThisTest tt=new ThisTest();
}
- 1. 這個指針由Object(this)設置!= this
- 2. 這個,但不是$(this)
- 3. jquery這與$(this)甚至$ this
- 4. jquery this和$(this)
- 5. 這和.this之間的區別?
- 6. 在JavaScript中獲取'this'對象而不使用'this'這個詞
- 7. 什麼原因var $ this =這個
- 8. $(this)和這個裏面的點擊事件
- 9. $(this)和jQuery中的這個有什麼區別?
- 10. 這是什麼意思:&** this;
- 11. 這個「this」在這段JavaScript代碼中意味着什麼?
- 12. this。$ el和jQuery
- 13. jquery live()和$ this
- 14. jQuery:'$(this)'和'this'有什麼區別?
- 15. 的(這個和這個)OR(這個和這個)
- 16. 什麼是'this'在這裏執行relativelayout lyt = new relativelayout(this)
- 17. 「this」,「$ this」和「$(this)」之間的區別是什麼?
- 18. 在一個可以捕獲這個``的lambda中使用`this->``
- 19. javascript這個封閉的外部函數有一個綁定'this'
- 20. 這個「$ this - > session - > userdata(」datiPreventivo「);」到一個CodeIgniter控制器類?
- 21. jQuery:目標$(this)和一個元素
- 22. Jquery - 使用$(this)和多個選擇器?
- 23. jQuery的每個方法$(this)和$(element)
- 24. 關於「this」和「this.value」
- 25. jquery刪除和$(this)
- 26. jQuery .each()this和element
- 27. CodeIgniter 2和$ this->
- 28. jQuery .hasClass,.closest()和$(this)
- 29. Coverity,Enumerable.Where(this ...)和IDisposable
- 30. 使用$(this)和jQuery
你問之間'this'和'這個()'爲什麼你有選擇 – 2012-02-01 07:21:25