我真的不明白在Java中使用'this'。如果有人能幫我澄清,我會非常感激。有人可以向我詳細解釋'this'的用法嗎?
在這個網站上,它說:http://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html
「在實例方法或構造,這是對當前對象的引用 - 它的方法或構造函數被調用的對象可以參考的任何成員。來自實例方法或構造函數中的當前對象。「
,並給出了下面的例子:
例如,Point類是這樣寫的
public class Point {
public int x = 0;
public int y = 0;
//constructor
public Point(int a, int b) {
x = a;
y = b;
}
}
,但它可能是這樣寫的:
public class Point {
public int x = 0;
public int y = 0;
//constructor
public Point(int x, int y) {
this.x = x;
this.y = y;
}
}
然而,我仍然不完全明白爲什麼x = a可以寫成this.x = x?爲什麼不是這個.x = a?爲什麼x在左邊?
對不起,但我對Java很新。我爲無聊的專家道歉。
在第二個例子中,構造函數的參數名爲'x','y'不是'a'和'b',所以說'this.x = a'沒有意義,因爲沒有' a'存在。在你的第一個例子中'this.x = a'和'this.y = b'完全可以接受。 'this'用作區分同名變量的常用方法,如第二個示例中所示,如果您只是說'x = x',編譯器將無法分辨哪個'x'是哪個。 – 2012-04-15 22:58:04