在JAVA中,繼承提升的代碼的複用性,可是隨之而來的,也產生一個弊端,即打破了「封裝性」,好比父類能夠被子類複寫,代碼的安全性下降了。安全
在實際工做中,爲了提升安全性,避免有的數據被繼承複寫或修改,這就要用到final進行修飾。函數
final,其字面意思含義是「最終」,表示已到終點,不能被改變、繼承繼承
一、能夠修飾類、函數、變量變量
二、被final修飾的類(能夠稱爲最終類),不能夠被繼承,被複寫。數據
三、被final修飾的函數,不能夠被複寫。安全性
四、被final修飾的變量是一個常量,只能附值一次,便可以修飾成員變量,也能夠修飾局部變量。工作
當描述事物時,一些數據是固定,如圓周率、光速音速等,這些值均可以被改變,因此要加上final。數字
編寫代碼時,爲了加強閱讀性,都給這些值取個數字,而且用大寫字母,如圓周率PI等。閱讀
做爲常量,其都要用大寫字母書寫,單獨前用下劃線「_」鏈接,方便代碼閱讀。封裝
五、內部類定義在類中的局部位置上時,只能訪問該局部被final修飾的局部變量