我正处于学习阶段。我不知道为什么我在logcat中获得Null值。当getN()被称为第一个构造函数时,它显示结果但在第二个构造函数中调用时,它显示Null值。拜托,任何人都可以向我解释这个问题,或者给我指一篇文章,以便我详细阅读。
MainActivity.class
public class MainActivity extends AppCompatActivity {
String G = "HELLo";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MyActivity s = new MyActivity(G);
MyActivity my = new MyActivity();
}
}
MyActivity.class
public class MyActivity {
String N;
public MyActivity(String g) {
this.N = g;
}
public MyActivity() {
getN();
}
public void getN(){
Log.e("WOFO",N);
}
}
答案 0 :(得分:0)
当您致电MyActivity s = new MyActivity(G);
时,您使用N
初始化this.N = g;
,但在第二次调用时,this.N = g;
未初始化,因为您正在调用该对象的新实例而不是和第一个一样。