final方法的使用

2021-09-01 12:47:55 字數 1022 閱讀 1340

1.final方法的使用原因有兩個,1.把方法鎖定,以防止任何繼承類來修改它的含義,確保在繼承中方法行為保持不變,並且不會被覆蓋。

final和private關鍵字:

類中所有的private關鍵字都是隱式地指定為final,由於無法去取用private的方法,因此也就無法去覆蓋他,但是可以對private新增final修飾詞,但是並不能給該方法增加任何額外的意義

如果是嘗試覆蓋乙個private的方法,其隱式是包含final的,貌似編譯器是可以的,而且編譯器也不會給出任何的錯誤資訊:

看一下執行結果,如下所示:

其中公有型別是無法轉換成私有型別的;

顯示如下操作:

但是公共的public方法即可去進行呼叫即可:

完整驗證****如下:

class withfinals

private void g()

}class overridingprivate extends withfinals

private void g()

}class overridingprivate2 extends withfinals

public void g()

}public class finaloverridingillusion

}

final類與final方法

final 用於類 方法前。final類 不可被繼承。final方法 不可被覆蓋。final類不能被繼承。如果我們不希望乙個類被繼承,我們使用final來修飾這個類。這個類將無法被繼承。比如我們設定的math類,涉及了我們要做的數學計算方法,這些演算法也沒有必要修改,也沒有必要被繼承,我們把它設定成...

Final類和Final方法

終止繼承 final類 當關鍵字final用來修飾類時,其含義是該類不能在派生子類。換句話說,任何其他類都不能繼承用final修飾的類,即使該類的訪問限制為public型別,也不能被繼承 否則,將編譯報錯。可以繼承的其他類。什麼時候應該使用final修飾類呢?只有當需要確保類中的所有方法都不被重寫時...

Java 方法使用final 修飾引數的作用

在方法引數前面加final關鍵字就是為了防止資料在方法體中被修改。主要分兩種情況 第一,用final修飾基本資料型別 第二,用final修飾引用型別。第一種情況,修飾基本型別 非引用型別 這時引數的值在方法體內是不能被修改的,即不能被重新賦值。否則編譯就通不過。例如 public class tes...