如何从代码中获取每个对象的每个地址。代码似乎是正确的。但它两次都只返回House2地址。它没有返回第一个地址。
public class House {
private static String address;
House ( String addr ) {
address = addr;
}
public static String returnAddress () {
return address;
}
public static void main (String [] args) {
House house1 = new House("house 1 address");
House house2 = new House("house 2 address");
System.out.println( house1.returnAddress());
System.out.println( house2.returnAddress());
}
}
答案 0 :(得分:1)
删除static关键字。静态变量是全局的,这意味着它在该类的所有实例之间共享,而不是非静态变量,该变量特定于每个实例本身。当您创建第一个房子时,您将地址设置为第一个字符串(“房屋1地址”),这是所有房屋共享的,当您实例化第二个字符串时,您将地址设置为第二个字符串(“房子2地址“)。因此,请从returnAddress()
。