黑马程序员技术交流社区

标题: 【太原校区】深入理解Java中的final关键字 [打印本页]

作者: Dream丿拼    时间: 2018-4-19 16:03
标题: 【太原校区】深入理解Java中的final关键字
java 中的final 关键字非常重要,可以应用于类,方法以及变量。将变量,方法,和类声名为final表啊是什么?
好处有哪些呢? final和static一起来使用  声名为常量。
final常量

凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫作final变量。final变量经常和static关键字一起使用,作为常量。下面是final变量的例子:
[Java] 纯文本查看 复制代码
public static final String LOAN = "loan";
LOAN = new String("loan") //invalid compilation error


final变量是只读的。

什么是final方法?
final也可以声明方法。方法前面加上final关键字,代表这个方法不可以被子类的方法重写。如果你认为一个方法的功能已经足够完整了,子类中不需要改变的话,你可以声明此方法为final。final方法比非final方法要快,因为在编译的时候已经静态绑定了,不需要在运行时再动态绑定。下面是final方法的例子:
[Java] 纯文本查看 复制代码
class PersonalLoan{
    public final String getName(){
        return "personal loan";
    }
}

class CheapPersonalLoan extends PersonalLoan{
    @Override
    public final String getName(){
        return "cheap personal loan"; //compilation error: overridden method is final
    }
}


什么是final类?
使用final来修饰的类叫作final类。final类通常功能是完整的,它们不能被继承。Java中有许多类是final的,譬如String, Interger以及其他包装类。下面是final类的实例:
[AppleScript] 纯文本查看 复制代码
final class PersonalLoan{

    }

    class CheapPersonalLoan extends PersonalLoan{  //compilation error: cannot inherit from final class

}



final关键字的好处
下面总结了一些使用final关键字的好处
关于final的重要知识点
[Java] 纯文本查看 复制代码
private final int COUNT = 10;


[Java] 纯文本查看 复制代码
private final List Loans = new ArrayList();
list.add(“home loan”);  //valid
list.add("personal loan"); //valid
loans = new Vector();  //not valid


我们已经知道final变量、final方法以及final类是什么了。必要的时候使用final,能写出更快、更好的代码的。


作者: Yin灬Yan    时间: 2018-4-23 15:36
我来占层楼啊   




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2