程序没有打印出预期值

时间:2014-12-28 19:00:16

标签: java object

我尝试运行一个简单的程序:

  • 初始化变量

    int a = 0;

  • 重新分配

    a = 1;

  • 打印

    System.out.println(a)


这是我的代码:

public class Main {

    int a = 0;

    public static void main(String[] args) {

        Main main = new Main();
        main.go();

    }

    public void go() {

        a = 1;

        Main obj = new Main();

        System.out.println(obj.a);
    }

}

  • System.out.println(obj.a)打印出0;
  • 为什么不打印1?

2 个答案:

答案 0 :(得分:2)

您的go方法会创建Main的新实例,并打印该新实例的a值,该值为0. a已分配1 }仅在原始Main实例中。

答案 1 :(得分:0)

这是因为您正在Main方法中创建类go的新对象或实例。