object1.object2的目的是什么?

时间:2017-08-13 12:32:21

标签: java oop bluej

所以,我是编码的新手,正在使用此代码进行练习。

我想知道的是" nextRoom = currentRoom.northExit;"在我看来,点符号应该用作object.method(参数)而不是object1.object2吗?

课堂

private String description;
private Room northExit;
private Room southExit;
private Room eastExit;
private Room westExit;

类游戏

private Room currentRoom;

private void move(String direction)
{

Room nextRoom = null;

    if(direction.equals("north")) {
        nextRoom = currentRoom.northExit;
    }
}

提前致谢!

3 个答案:

答案 0 :(得分:0)

您可以使用点表示法来访问对象的字段,而不仅仅是方法。 但是在这种情况下,表达式无效,因为您无法访问类外的class Room的私有成员。由于northExitclass Room的私有成员,因此只能在类Room中访问它。 您只能通过get方法访问私有成员。 如果class Room

private String description;
public Room northExit;
public Room southExit;
public Room eastExit;
public Room westExit;

您可以使用点表示法访问northExit

答案 1 :(得分:0)

好像你正在寻找的是Object Creation的详细信息:

private Room currentRoom;

以及上下文中的更多内容

currentRoom.northExit;

Using an Object创建了一个类。

答案 2 :(得分:0)

它不必仅是方法,您可以调用属性(obj1.propertyName)来获取其值。在这里,您将nextRoom属性分配给currentRoom对象中的northExit属性的值。