在此循环中有一个名为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);
}
}
变量“名称”并不是真的那么重要,对许多对象来说都不存在,* *在编译代码中几乎不存在。如果一个对象被多个变量引用,哪一个代表这个对象的“名称”?更重要的是*对象**引用***以及如何获得它们。 –