object1.object2 的作用是什么?
What purpose does object1.object2 serve?
所以,我是编码新手,正在使用此代码进行练习。
我想知道的是 "nextRoom = currentRoom.northExit;" 等的作用,因为在我看来,点符号应该用作 object.method(参数)而不是 object1.object2?
class 房间
private String description;
private Room northExit;
private Room southExit;
private Room eastExit;
private Room westExit;
class 游戏
private Room currentRoom;
private void move(String direction)
{
Room nextRoom = null;
if(direction.equals("north")) {
nextRoom = currentRoom.northExit;
}
}
提前致谢!
您可以使用点表示法访问对象的字段,而不仅仅是方法。
但是在这种情况下,该表达式无效,因为您无法访问 class 之外的 class Room
的私有成员。由于 northExit
是 class Room
的私有成员,因此只能在 class 房间内访问。
您只能通过 get 方法访问私有成员。
如果 class Room
是
private String description;
public Room northExit;
public Room southExit;
public Room eastExit;
public Room westExit;
您可以使用点符号访问 northExit
。
看来您要找的是 Object Creation 的详细信息,即:
private Room currentRoom;
上下文中还有更多内容
currentRoom.northExit;
Using an Object 创建了一个 class。
它不一定只是方法,您可以调用属性 (obj1.propertyName) 来获取它的值。在这里,您将 nextRoom 属性 分配给 currentRoom 对象中 northExit 属性 的值。
所以,我是编码新手,正在使用此代码进行练习。
我想知道的是 "nextRoom = currentRoom.northExit;" 等的作用,因为在我看来,点符号应该用作 object.method(参数)而不是 object1.object2?
class 房间
private String description;
private Room northExit;
private Room southExit;
private Room eastExit;
private Room westExit;
class 游戏
private Room currentRoom;
private void move(String direction)
{
Room nextRoom = null;
if(direction.equals("north")) {
nextRoom = currentRoom.northExit;
}
}
提前致谢!
您可以使用点表示法访问对象的字段,而不仅仅是方法。
但是在这种情况下,该表达式无效,因为您无法访问 class 之外的 class Room
的私有成员。由于 northExit
是 class Room
的私有成员,因此只能在 class 房间内访问。
您只能通过 get 方法访问私有成员。
如果 class Room
是
private String description;
public Room northExit;
public Room southExit;
public Room eastExit;
public Room westExit;
您可以使用点符号访问 northExit
。
看来您要找的是 Object Creation 的详细信息,即:
private Room currentRoom;
上下文中还有更多内容
currentRoom.northExit;
Using an Object 创建了一个 class。
它不一定只是方法,您可以调用属性 (obj1.propertyName) 来获取它的值。在这里,您将 nextRoom 属性 分配给 currentRoom 对象中 northExit 属性 的值。