为什么当我创建一个对象并使用 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 Test
和 Test2
是单独的文件作为旁注。
public void test() {
Test2 t = new Test2();
t.setNum(3);
System.out.println(t.getNum());
}
您在方法中本地创建了 Test2
的新实例,这对 this
实例没有影响。
public void test() {
setNum(3);
}
就够了。
t2
和 t
或 2 个不同的对象。
当您调用 t2.test()
时,您创建了一个新对象 t
并设置了 t
对象的属性编号,而不是 t2
。因此,当您调用 t2.getNum()
时,t2
的 num
属性保留为默认值,对于 Java.
中的整数,该值为零
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 Test
和 Test2
是单独的文件作为旁注。
public void test() {
Test2 t = new Test2();
t.setNum(3);
System.out.println(t.getNum());
}
您在方法中本地创建了 Test2
的新实例,这对 this
实例没有影响。
public void test() {
setNum(3);
}
就够了。
t2
和 t
或 2 个不同的对象。
当您调用 t2.test()
时,您创建了一个新对象 t
并设置了 t
对象的属性编号,而不是 t2
。因此,当您调用 t2.getNum()
时,t2
的 num
属性保留为默认值,对于 Java.