【问题标题】:How to access each element of an Array of Objects? [closed]如何访问对象数组的每个元素? [关闭]
【发布时间】:2014-04-27 01:37:49
【问题描述】:

我正在创建一个对象数组,称为房间。 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() );

它会打印出最后添加到数组中的房间。所以总是打印走廊。 那么我怎样才能打印每个元素呢?还是访问每个元素?

提前感谢大家。

【问题讨论】:

    标签: java arrays oop


    【解决方案1】:

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

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

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

    【讨论】:

    • 我想给你一个拥抱。我在同一个项目中有另一个数组,它工作正常,因为那里没有静态。这玩意玩了很久,看不下去了。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2020-11-19
    • 2016-07-02
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-15
    相关资源
    最近更新 更多