最终关键字如何在Android中运行

我知道在Java中我们对变量或其他东西使用final关键字来使其值不被改变。

使用final什么区别,如下例所示?

 public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TextView campoTexto = (TextView) findViewById(R.id.campoTexto); Button botaoTexto = (Button) findViewById(R.id.botaoTexto); Button botaoCor = (Button) findViewById(R.id.botaoCor); final RelativeLayout fundoTela = (RelativeLayout) findViewById(R.id.fundoTela); 

它是java … final关键词在android中总是相同或者在android中都没有。 这取决于你申请的内容。

例如

应用于变量意味着初始化后无法更改。

应用于方法意味着它不能重载方法。

应用于该类,您无法覆盖该类。

对于变量, final关键字意味着它基本上是一个常量 。 在这种情况下,因为它是一个对象,所以它的引用不能改变。 所以基本上如果你再次尝试分配给final TextView campoTexto ,编译器会抛出一个错误。

最终只锁定参考。 不是引用内的对象和方法。

在Android中,它就像Java中的方式一样。

例如, final int a = 5 ,则a不能更改。

最终的final TextView campoTexto ; 然后不能重新定义campoTexto,但允许使用内部方法, like setText or others方法。

一个更全面的例子是Final Deque stack = new ArrayDeque<>(); 然后堆栈无法重新定义,但允许使用stack.push, pop和其他方法,因此允许堆栈内的对象更改