匿名内部类可以访问外部方法的变量
//初始化按钮的监听器
public void initListener(Button btn ){
final int name = 12; //必须标记为final
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btn.setText(name); //动态改变按钮的文字
}
});
}
外部方法出栈后,内部类在内存中依然存在,但是无法再访问到局部变量
为此,JAVA 将外部方法的变量复制并传递给内部类
匿名内部类修改这个变量的值,但是和外部的变量已经没有关系
也是说无法修改外部方法的变量的值
为此,直接使用 final 将外部变量的值约定死
點擊查看更多內容
3人點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦