一、Java
1.被final修飾的類不能被繼承。
2.被final修飾的方法不能被重寫。
被 final 修飾的類中所有的成員方法都會隱式的定義為 final 方法。
若父類中 final ?方法的訪問權限為 private ,則子類中不能直接繼承該方法。此時可以在子類中定義相同方法名的函數,此時不會與 final ?相矛盾,因為這是在子類中重新定義了新方法。
3.被final修飾的變量在初始化后不能被賦值。但可以在構造函數中進行第一次初始化。
二、C#
1.被sealed修飾的類不能被繼承。
2.被sealed修飾的方法不能被重寫。
3.被readonly修飾的變量不能被修改。這與Java中的final關鍵字類似。
readonly關鍵字可用于實例字段和靜態字段,它確保字段只能在聲明時或在類的構造函數(對于實例字段)或靜態構造函數(對于靜態字段)中進行賦值。一旦字段被賦值,其值就不能被修改。
4.const關鍵字用于聲明編譯時常量,這些常量的值必須在聲明時指定,并且之后不能被修改。被const修飾的常量隱式是靜態的。
5.readonly字段可以是任何類型(值類型或引用類型),const字段只能是值類型或字符串。
三、C++
1.在C++11及以后的版本中,被final修飾的類不能被繼承。
2.被final修飾的成員函數不能被重寫。
3.被const修飾的變量在初始化后不能被重新賦值。這與Java中的final關鍵字類似。
4.被const修飾的成員函數不會修改對象的任何成員變量(除被標記為mutable之外)。
5.不能在const對象上調用非const成員函數。
四、Swift
1.被final修飾的類不能被繼承。
2.被final修飾的方法不能被重寫。
3.可以在屬性和下標腳本上使用 final 來防止它們被子類重寫或繼承。 Swift 中的屬性默認就是不可重寫的,但可以標記它們為 open 或 override來讓屬性可重寫。
4.使用let來聲明常量,var來聲明變量。
五、Kotlin
1.類默認是final的。若希望一個類能夠被繼承,需要使用open關鍵字來修飾它。
2.方法默認是final的。若希望一個方法能夠被重寫,需要使用open關鍵字來修飾它。在子類重寫父類方法時,需要用override來修飾子類方法。
3.使用val修飾的變量在初始化后不能被修改,使用var修飾的變量可以被修改。
?
微風不燥,陽光正好,你就像風一樣經過這里,愿你停留的片刻溫暖舒心。
我是程序員小迷(致力于C、C++、Java、Kotlin、Android、Shell、JavaScript、TypeScript、Python等編程技術的技巧經驗分享),若作品對您有幫助,請關注、分享、點贊、收藏、在看、喜歡,您的支持是我們為您提供幫助的最大動力。
歡迎關注。助您在編程路上越走越好!