在 Android(针对 API 14-16)中,我有一个MainActivity
和一个NextActivity
. 如果在以下块中调用方法,则使用意图NextActivity
从内部开始没有困难:MainActivity
getIntent()
onCreate()
NextActivity
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int data = 7;
...
Intent intent = new Intent(this, NextActivity.class);
intent.putExtra("data", data);
startActivity(intent);
}
}
public class NextActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final int data = this.getIntent().getIntExtra("data", 7);
...
}
...
}
但是,由于该字段data
在 中的匿名(“内部”)类中使用NextActivity
,我不得不声明它final
。
我不想声明 fields final
,如果我在课程开始之前声明它们,我通常可以避免这样做onCreate()
。但是由于某种原因,NextActivity
如果getIntent()
语句出现(没有final
关键字)在onCreate()
.
知道为什么吗?