如何解决为什么在创建对象并使用getter和setter获取该整数值时整数为0?
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
的对象并使用num
设置t2.test()
的值时,使用t2.getNum()
时它将在控制台上打印为0。为什么返回值0?以及如何解决它,使其真正获得我想要的价值?类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
的属性num。因此,当您调用t2.getNum()
时,num
keep的t2
属性是默认值,对于Java中的整数,默认值为零。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。