在此循環中有一個名爲pawn
的變量,但該循環使用該一個變量創建8個Pawn
(s)。這怎麼可能?而且,我們能否區分從這個變量創建的每個棋子?使用相同的變量名稱在for循環中初始化多個對象時會發生什麼?
public void setUpChessPieces() {
for (int i = 0; i < ChessGame.EIGHT; i++) {
//param 1:row, param 2:col, param 3:player#, param4:chess piece color
Pawn pawn1 = new Pawn(1, i, 1, "white");
//squares has a setPiece method
squares[1][i].setPiece(pawn1);
}
}
變量「名稱」並不是真的那麼重要,對許多對象來說都不存在,* *在編譯代碼中幾乎不存在。如果一個對象被多個變量引用,哪一個代表這個對象的「名稱」?更重要的是*對象**引用***以及如何獲得它們。 –