当前位置: 代码迷 >> Android >> 请教下android中final的使用
  详细解决方案

请教下android中final的使用

热度:10   发布时间:2016-04-28 05:25:36.0
请问下android中final的使用
在看android 开发SDK的时候,button有这么一段例子


 public class MyActivity extends Activity {
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);

         setContentView(R.layout.content_layout_id);

         final Button button = (Button) findViewById(R.id.button_id);
         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 // Perform action on click
             }
         });
     }
 }



请问下为什要把buuton声明为final的呢,这样做的目的是什么呢?
------解决方案--------------------
只有final的局部变量可以用在内联方法里面。比如onClick里面如果调用button.setText(...),就必须将button设置为final的
------解决方案--------------------
个人认为有两个目的 
1,Java 中内部类调用外部类局部变量要 final
2,代码有几百行的时候,自己忘了,然后把button 改了,结果就是:没有按照我们的“意愿”运行,然后报错
final 的化。是不让修改的。就避免了这样的错误。

  相关解决方案