如何从我的代码中获取每个对象的每个地址。代码看起来是正确的。但两次都只返回 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());
}
}
最佳答案
删除 static 关键字。静态变量是全局变量,这意味着它在该类的所有实例之间共享,而不是非静态变量,非静态变量特定于每个实例本身。当您创建第一栋房屋时,您将地址设置为第一个字符串(“房屋 1 地址”),该字符串由所有房屋共享,当您实例化第二个房屋时,您将地址设置为第二个字符串(“房屋 2 地址”)。因此,请从 returnAddress()
中删除 static 关键字。
关于java - 如何从我拥有的对象中获取变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30022265/