Joh*_*ale -1 java reference this parameter-passing
首先我知道这一定很简单,我一直在尝试在Stackoverflow.com和Google上阅读类似的问题,但我仍然无法让我的程序运行.
我很快写了一篇关于我的程序试图做的摘要:
public class One{
public One(){
Two t = new Two(this);
}
public void doSomething(){
sout("HERE");
}
public static void main(String[] args){
One o = new One()
Two t = new Two(o);
}
}
public class Two{
public Two(One o){
One o = o;
o.doSomething();
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行程序时,我从方法调用o.doSomething()得到一个NullPointerException.我已经尝试了一段时间来解决它,但我很难过.如果有人能够快速告诉我修复它会非常感激.
One o = o;
Run Code Online (Sandbox Code Playgroud)
我不知道这是做什么的,但它不会起作用.这应该是一个成员变量(this.o)?要做到这一点,将它放在类而不是函数中:
public class Two{
private One o;
public Two(One o){
this.o = o;
o.doSomething();
}
}
Run Code Online (Sandbox Code Playgroud)
如果您不需要,可以完全删除它:
public class Two{
public Two(One o){
o.doSomething();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |