>>479
メソッド内で引数が変更されないことが保証される。間違って書いた場合コンパイラが見つけてくれる。

あと、インナークラスから参照する場合は必須。こんなの。
void hoge(final int a){
 Thread t = new Thread(new Runnable(){
  public void run(){
   System.out.println(a);
  }
 });
 t.start();
}