public class MyDate {
private int day = 1;
private int month = 1;
private int year = 2000;
public MyDate(int day, int month, int year)
{
this.day = day;
this.month = month;
this.year = year;
}
public MyDate(MyDate date)
{
this.day = date.day;
this.month = date.month;
this.year = date.year;
}
/*
here why do we need to use Class name before the method name?
*/
public MyDate addDays(int moreDays)
{
// "this" is referring to which object and why?
MyDate newDate = new MyDate(this);
newDate.day = newDate.day + moreDays;
// Not Yet Implemented: wrap around code...
return newDate;
}
public String toString()
{
return "" + day + "-" + month + "-" + year;
}
}
-1
A
回答
1
this
將引用您將創建的當前對象實例。在任何java方法內部,this
將始終保存對其實例的引用。
一個例子 -
MyDate myDate = new MyDate(10, 10, 2012);
myDate.addDays(10);
,你是想知道將指向這裏創建newDate
對象行。該生產線 -
MyDate newDate = new MyDate(this);
將使用此構造 -
public MyDate(MyDate date) {
this.day = date.day;
this.month = date.month;
this.year = date.year;
}
創建並返回一個新的對象,傳遞一個參考當前對象實例,以便它可以複製它的日,月,年價值。
0
here why do we need to use Class name before the method name.
,因爲這是其返回類型MyDate
"this" is referring to which object and why?
this的參考方法指的是當前對象
0
這裏我們爲什麼需要在方法名稱之前使用Class名稱。
您正在返回一個MyDate
對象,該類名稱是該函數的返回類型。
「this」是指哪個對象,爲什麼?
this
始終引用調用方法的當前對象。它看起來是將當前的MyDate
對象複製到一個新對象並返回。
1
對此問題的回答參考1. 在方法名之前使用類名意味着您要返回類型爲MyDate.Its的引用變量只是返回類型。
對答案爲 這指的是當前對象,即MyDate類對象。 爲了用'new'關鍵字創建一個新的對象,你可以使用'this'作爲快捷方式。但是'this'應該在你想要引用對象的類中找到。
相關問題
- 1. 請幫助我瞭解不熟悉的語法結構用C
- 2. 需要幫助瞭解結構用C
- 3. 請幫我瞭解一下「strcmp」
- 4. 請幫助我瞭解這行代碼
- 5. 請幫助我瞭解這一段代碼在Java中
- 6. Java,android - 幫我理解代碼請
- 7. 瞭解Java中的層次結構
- 8. C結構圖,幫助理解結構
- 9. 瞭解XML結構
- 10. 瞭解sass結構
- 11. 瞭解Java構造
- 12. Java Quicksort幫助瞭解
- 13. 幫助理解typedef結構
- 14. PHP - 瞭解自我:: __結構()調用
- 15. 請幫我瞭解了一下移位操作
- 16. 請幫我解決我的Ant + Ivy + Java構建/依賴項問題
- 17. OAuth:幫助我瞭解OAuth
- 18. 請幫我取代解壓
- 19. 請幫我理解Django GenericInlineFormSet
- 20. 請幫我解決這個
- 21. c瞭解結構指針
- 22. 瞭解Websphere內部結構
- 23. 瞭解EXE內部結構
- 24. MVC體系結構瞭解
- 25. 瞭解Firefox擴展結構
- 26. 瞭解node.js回調結構
- 27. 瞭解Mp3文件結構
- 28. 結構 - 瞭解代碼
- 29. 無法瞭解結構
- 30. 瞭解adventureworks2012 DB結構
請嘗試閱讀Java的基本知識,如方法簽名和關於此關鍵字。 –
似乎是MyDate是不可變的。 –