java - 如何从我拥有的对象中获取变量?

标签 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());

    }
}

最佳答案

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

关于java - 如何从我拥有的对象中获取变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30022265/

相关文章:

mysql,转置/旋转行到列,变量选择

java - com.github.bumptech.glide :glide making app crash

java - 如何用Java洗牌?

java - 使用 jSoup 解析最里面的 html 标签

java - Spark 给出错误 : Files\Java\jdk1. 8.0_13 1""= ="x"此时意外

Javascript 范围(或其他)问题

function - 连接路径和文件

ios - CollectionView 单元格上的 UISwipeGestureRecognizer 无法正常工作

javascript - 对象和原始类型相等

jquery - 将包含对象的 div 复制到另一个 div