Android final关键词用法知识点

final如果修饰类,该类不能被继承;

final如果修饰变量,该变量不能被修改,不能再重新赋值,即变为常量;

final如果修饰方法,该方法不能被重写;

此外,只有被final修饰的局部变量可以用在内联方法里。比如onClick里面如果调用button.setText(...),就必须将button设置为final,即:

 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  
            }  
         });  
     }  
 }  

使用final的目的大概有以下两条:

1、Java中内部类调用外部类局部变量时要final。

2、当我们写的代码行已经很多的时候,自己可能就忘了之前的意图,把button改了,结果就是:没有按照我们的意愿运行,然后报错。而final修饰后,是不允许修改的,就避免了这样的错误。

推荐阅读更多精彩内容