最终关键字如何在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.push, pop
和其他方法,因此允许堆栈内的对象更改