Java 程序不';t打印期望值

Java 程序不';t打印期望值,java,object,Java,Object,我尝试运行一个简单的程序: 初始化变量 inta=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

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

  • 初始化变量

    inta=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(对象a)
    打印出0
  • 为什么不打印出1

您的
go
方法创建
Main
的新实例,并打印该新实例的
a
值,即0
a
仅在原始
Main
实例中分配
1

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

a=1
相当于
这个。a=1。您有两个不同的对象。他们彼此没有影响。