final關鍵字主要用在三個地方:變量、方法、類java
1.對於一個final變量,若是是基本數據類型的變量,則其數值一旦在初始化後便不能更改;若是引用類型的變量,則在對其初始化後便不能再讓其指向另外一個對象。性能
2.當用final修飾一個類時,代表這個類不能被繼承。final類中的全部成員方法都會被隱式地指定爲final方法。優化
3.使用final方法的緣由有兩個。第一個:把方法鎖定,以防止任何繼承類修改它的含義;第二個緣由是效率。在早期的java實現版本中,會將final方法轉爲內嵌調用。可是方法過於龐大,可能看不到內嵌調用帶來的任何性能提高(如今的java版本已經不須要使用final方法進行這些優化了)。類中全部的private方法都隱式地指定爲final。對象