我如何从我拥有的对象中获得变量?

时间:2015-05-04 03:41:24

标签: java variables object

如何从代码中获取每个对象的每个地址。代码似乎是正确的。但它两次都只返回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());

    }
}

1 个答案:

答案 0 :(得分:1)

删除static关键字。静态变量是全局的,这意味着它在该类的所有实例之间共享,而不是非静态变量,该变量特定于每个实例本身。当您创建第一个房子时,您将地址设置为第一个字符串(“房屋1地址”),这是所有房屋共享的,当您实例化第二个字符串时,您将地址设置为第二个字符串(“房子2地址“)。因此,请从returnAddress()

中删除static关键字