有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何访问对象数组的每个元素?

我正在创建一个对象数组,称为房间。 static Room [] rooms = new Room [3];

//populate the array. 
rooms[0] = new Room ("Bedroom", "This is your bedroom." );
rooms[1] = new Room("Hallway", "This is the hallway of your house.");

//constructor
static String room = "";
static String descriptionOfTheRoom = "";
public Room ( String newRoom, String newDescriptionOfTheRoom  ){
        room = newRoom;
        descriptionOfTheRoom = newDescriptionOfTheRoom;
}

// get room method 
public String getRoom (){
        return room;
    }

// when I try to get the room. 
     System.out.println("Room" + r[i].getRoom() );

它向我打印最后添加到阵列的房间。所以总是在走廊上打印。 那么,我如何同时打印每个元素呢?每个元素还是访问

提前向大家表示感谢


共 (1) 个答案

  1. # 1 楼答案

    这是因为您创建了descriptionOfTheRoomroom变量static。它们应该是实例变量

    与实例变量不同,static成员在类的所有实例之间共享。这些成员几乎不应该在构造函数中设置(有时您可能需要修改它们,但这并不太常见)

    您应该创建roomdescriptionOfTheRoom实例变量,即每个Room对象一个。删除static将解决此问题