java - 关键字final有什么用?

标签 java android final

在下面的代码中,如果我从 EditText 中删除关键字 final,我将在第 (6) 行中出现错误,我将 EditText 对象 (et) 传递给 Intent ...我必须在这里知道 final 关键字的重要性...

final EditText et=(EditText)findViewById(R.id.t);
        Button b=(Button)findViewById(R.id.b1);
        b.setOnClickListener(new Button.OnClickListener(){
            public void onClick(View v)<br>
            {
            Intent on=new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+et.getText()));
            startActivity(on);
            }
        });

最佳答案

Final 本质上意味着变量 et 在任何时候都不会被重新分配,并且会一直存在。这意味着内部类(如您的监听器)可以相信它不会被其他可能导致各种麻烦的线程重新分配。

final 也可用于修改方法或类定义,这意味着该方法不能被子类重写,或者该类不能被扩展。

关于java - 关键字final有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4556503/

相关文章:

java - 如何编写 2 个构造函数来初始化 2 个不同的私有(private)最终变量?

php - PHP 中的最终抽象类?

java - 使用要创建的类参数化 JAXB 工厂方法

java - java中如何将字符串转换为ascii值?

两个 fragment 共享相同数据的 Android MVP

android - 调试时 Gradle Android studio 输出文件夹

java - 根据 Maven 中的组 ID 从依赖项中去除版本号

java - Android - 防止 WebView 在旋转时重新加载

java - 如何使用 firebase 实时数据库在回收站 View 上使用拖放

java - 在 Java 中,在一个子类中将变量设置为 Final 和 static,同时在其他子类中保持变量不变