我想了解吸气剂方法。
在我的第一堂课上,我有一个get方法和一个参数。
在第二堂课中,我将定义一个带有参数的新对象。现在我想用getter方法打印出这个值,但是控制台打印的是0而不是23?
这是我的代码
头等舱
public class CopyOfHeld {
private int LP;
public CopyOfHeld(int pLP) {
pLP = LP;
}
public int getLp() {
return LP;
}
}
第二等:
public class CopyOfKampfregel {
public CopyOfKampfregel() {
CopyOfHeld held1 = new CopyOfHeld(23);
System.out.println(held1.getLp());
}
}
答案 0 :(得分:0)
它显示0的原因与分配传入值的构造函数的方式有关。
在创建新的CopyOfHeld
对象时,您会传入一个原始int
值,尝试通过这种方式分配该值:pLP = LP;
。
问题是,与其像LP = pLP;
那样将实际传入的值分配给实例字段,不如执行相反的操作,从而分配LP
字段。由于这是一个原始的int
,因此默认值为0,因此为什么在尝试打印时会得到0。
更改并修复您的作业将解决此问题。