为什么当我创建一个对象并使用 getter 和 setter 获取该整数值时整数为 0?

Why is the integer 0 when I create an object and get that integer value using getters and setters?

public class Test {

    public static void main(String[] args) {
    
        Test2 t2 = new Test2();
        t2.test();
        System.out.println(t2.getNum());
        
    }
}

public class Test2 {

    private int num;

    public void test() {
        Test2 t = new Test2();
        t.setNum(3);
        System.out.println(t.getNum());
    }
    
    public int getNum() {
        return num;
    }

    public void setNum(int bruh) {
        this.num = bruh;
    }
    
}

每当我创建一个 Test2 的对象并使用 t2.test() 设置 num 的值时,它在使用 t2.getNum() 时在控制台上打印为 0。为什么它 return 的值为 0?我该如何修复它才能真正获得我想要的价值? Class TestTest2 是单独的文件作为旁注。

public void test() {
    Test2 t = new Test2();
    t.setNum(3);
    System.out.println(t.getNum());
}

您在方法中本地创建了 Test2 的新实例,这对 this 实例没有影响。

public void test() {
    setNum(3);
}

就够了。

t2t 或 2 个不同的对象。

当您调用 t2.test() 时,您创建了一个新对象 t 并设置了 t 对象的属性编号,而不是 t2。因此,当您调用 t2.getNum() 时,t2num 属性保留为默认值,对于 Java.

中的整数,该值为零