簡要說一下final關鍵字,final可以用來修飾什麼?

 

final可以修飾類、方法、成員變量

  • 當final修飾類的時候,說明該類不能被繼承

  • 當final修飾方法的時候,說明該方法不能被重寫

    • 在早期,可能使用final修飾的方法,編譯器針對這些方法的所有調用都轉成內嵌調用,這樣提高效率(但到現在一般我們不會去管這事了,編譯器和JVM都越來越聰明瞭)

  • 當final修飾成員變量時,有兩種情況:

    • 如果修飾的是基本類型,說明這個變量的所代表數值永不能變(不能重新賦值)!

    • 如果修飾的是引用類型,該變量所的引用不能變,但引用所代表的對象內容是可變的!

值得一說的是:並不是被final修飾的成員變量就一定是編譯期常量了。比如說我們可以寫出這樣的代碼:

private final int chang = new Randon().nextInt(20);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章