面試官:說一下final關鍵字和final的4種用法?

重要說明:本篇爲博主《面試題精選-基礎篇》系列中的一篇,查看系列面試文章請關注我
Gitee 開源地址:https://gitee.com/mydb/interview

final 定義

final 翻譯成中文是“最終”的意思,它是 Java 中一個常見關鍵字,使用 final 修飾的對象不允許修改或替換其原始值或定義。
image.png
比如類被 final 修飾之後,就不能被其他類繼承了,如下圖所示:
image.png

final 的 4 種用法

final 的用法有以下 4 種:

  1. 修飾類
  2. 修飾方法
  3. 修飾變量
  4. 修飾參數

1.修飾類

final class Animal {

}

image.png
說明:被 final 修飾的類不允許被繼承,表示此類設計的很完美,不需要被修改和擴展。

2.修飾方法

public class FinalExample {
    public final void sayHi() {
        System.out.println("Hi~");
    }
}

image.png
說明:被 final 修飾的方法表示此方法提供的功能已經滿足當前要求,不需要進行擴展,並且也不允許任何從此類繼承的類來重寫此方法。

3.修飾變量

public class FinalExample {
    private static final String MSG = "hello";
	//......
}

image.png
說明:當 final 修飾變量時,表示該變量一旦被初始化便不可以被修改。

4.修飾參數

public class FinalExample {
    public void sayHi(final String name) {
        System.out.println("Hi," + name);
    }
}

image.png
說明:當 final 修飾參數時,表示此參數在整個方法內不允許被修改。

final 作用

使用 final 修飾類可以防止被其他類繼承,如 JDK 代碼中 String 類就是被 final 修飾的,從而防止被其他類繼承,導致內部邏輯被破壞。

String 類部分源碼如下:
image.png

總結

final 是 Java 中常見的一個關鍵字,被它修飾的對象不允許修改、替換其原始值或定義。final 有 4 種用法,可以用來修飾類、方法、變量或參數。

關注公衆號:Java面試真題解析,查看更多 Java 面試題。

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