使用final關(guān)鍵字時(shí)需要注意以下幾個(gè)問(wèn)題:
(推薦教程:java入門(mén)教程)
1、被final修飾的類(lèi)不可以被繼承;
2、被final修飾的方法不可以被重寫(xiě);
3、被final修飾的變量不可以被改變,如果修飾引用,那么表示引用不可變,引用指向的內(nèi)容可變;
4、被final修飾的方法JVM會(huì)嘗試將其內(nèi)聯(lián),以提高運(yùn)行效率;
5、被final修飾的常量在編譯階段會(huì)存入常量池中;
(視頻教程推薦:java視頻教程)
在構(gòu)造函數(shù)內(nèi)對(duì)一個(gè)final域的寫(xiě)入,與隨后把這個(gè)被構(gòu)造對(duì)象的引用賦值給一個(gè)引用變量,這兩個(gè)操作之間不能重排序。
初次讀一個(gè)包含final域的對(duì)象的引用,與隨后初次讀這個(gè)final域,這兩個(gè)操作之間不能重排序。