據我所知在匿名內部類的內部方法可以使用最後的變量或類字段。 他們之間有明顯的區別嗎? 例如:類字段和最終變量
final int[] intArr = new int[1];
Button testButton1 = (Button) findViewById(R.id.btnTest1);
testButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
intArr[0]++;
Log.i("test", String.valueOf(intArr[0]));
}
});
Button testButton2 = (Button) findViewById(R.id.btnTest2);
testButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
intArr[0]--;
Log.i("test", String.valueOf(intArr[0]));
}
});
我有2個按鈕和它們兩者使用將intArr [0]和可以獲取和設置其值。如果我將intArr [0]替換爲某些類字段,如private int value; 基於此,我得出結論:類字段和最終變量基本相同(我的意思是它們在字節碼中被等同表示),並且僅在範圍內有區別,並且有可能分配一個值。 我對不對?
哇,至於我 - 很好的答案 – anber