跳到主要内容

类修饰符参考

此页面包含类修饰符的参考信息。

有效组合

#

类修饰符的有效组合及其结果能力如下

声明构造?扩展?实现?混入?穷尽性?
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 声明实现。