跳過主內容

類修飾符參考

本頁包含關於類修飾符的參考資訊。

有效組合

#

類修飾符的有效組合及其對應的能力如下:

宣告構造?擴充套件?實現?混入?窮盡?
class
base class
interface class
final class
sealed class
abstract class
abstract base class
abstract interface class
abstract final class
mixin class
base mixin class
abstract mixin class
abstract base mixin class
mixin
base mixin

無效組合

#

某些修飾符組合是不允許的。

組合原因
baseinterfacefinal它們都控制相同的兩個能力(extendimplement),因此互斥。
sealedabstract兩者都不能被構造,因此組合使用是冗餘的。
sealedbaseinterfacefinalsealed 型別本身就不能被其他庫混入、擴充套件或實現,因此與上述修飾符組合是冗餘的。
mixinabstract兩者都不能被構造,因此組合使用是冗餘的。
mixininterfacefinalsealedmixinmixin class 宣告旨在被混入,而上述修飾符會阻止這種行為。
enum 與任何修飾符enum 宣告不能被擴充套件、實現、混入,並且總是可以被例項化,因此任何修飾符都不適用於 enum 宣告。
extension type 與任何修飾符extension type 宣告不能被擴充套件或混入,並且只能被其他 extension type 宣告實現。