Porque a palavra chave final faz com que o erro desapareça nesse codigo?
package br.com.caelum.olamundo;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class OlaMundoActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.principal);
Button botao = (Button) findViewById(R.id.botao) ;
final EditText campo = (EditText) findViewById(R.id.campo);
final TextView texto = (TextView) findViewById(R.id.texto);
botao.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
texto.setText(campo.getText());
}
});
}
}
`