首頁> Java> java教程> 主體

為什麼在Java中構造函式不能是final的?

PHPz
發布: 2023-08-20 19:01:22
轉載
1396 人瀏覽過

為什麼在Java中構造函式不能是final的?

每當你將一個方法宣告為final時,你就無法覆寫它。也就是說,你不能為子類別提供超類別的final方法的實作。

也就是說,將一個方法宣告為final的目的是防止從外部(子類別)修改該方法。

在繼承中,當你擴展一個類別時,子類別會繼承超類別的所有成員,除了建構子。

換句話說,建構子不能在Java中被繼承,因此你不能覆寫建構子。

因此,在建構子前面加上final沒有意義。因此,Java不允許在建構函式前使用final關鍵字。

如果你嘗試將建構函式宣告為final,將會產生一個編譯時錯誤,提示「modifier final not allowed here」。

範例

在下列Java程式中,Student類別有一個被宣告為final的建構子。

示範

public class Student { public final String name; public final int age; public final Student() { this.name = "Raju"; this.age = 20; } public void display() { System.out.println("Name of the Student: "+this.name ); System.out.println("Age of the Student: "+this.age ); } public static void main(String args[]) { new Student().display(); } }
登入後複製

編譯時錯誤

在編譯時,上述程式會產生以下錯誤。

Student.java:6: error: modifier final not allowed here public final Student(){ ^ 1 error
登入後複製

以上是為什麼在Java中構造函式不能是final的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!