类修饰符参考

Last updated: ... / Reads: 38 Edit

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

有效组合

类修饰符及其生成的功能的有效组合包括:

Declaration Construct? Extend? Implement? Mix in? Exhaustive?
class Yes Yes Yes No No
base class Yes Yes No No No
interface class Yes No Yes No No
final class Yes No No No No
sealed class No No No No Yes
abstract class No Yes Yes No No
abstract base class No Yes No No No
abstract interface class No No Yes No No
abstract final class No No No No No
mixin class Yes Yes Yes Yes No
base mixin class Yes Yes No Yes No
abstract mixin class No Yes Yes Yes No
abstract base mixin class No Yes No Yes No
mixin No No Yes Yes No
base mixin No No No Yes No

无效组合

不允许使用某些修饰符组合:

组合 推理
base 、 和 interface final 全部控制相同的两个功能( 和 ),因此是互斥的。 extend implement
sealed 和 abstract 两者都无法构造,因此在一起是多余的。
sealed 与 、 或 base interface final sealed 类型已经不能在另一个库中混合、扩展或实现,因此与列出的修饰符组合是多余的。
mixin 和 abstract 两者都无法构造,因此在一起是多余的。
mixin 和、、 或 interface final sealed A or 声明旨在混合,而列出的修饰符会阻止这种情况。 mixin mixin class
enum 和任何修饰符 enum 声明无法扩展、实现、混合,并且始终可以实例化,因此修饰符不适用于声明。 enum

Comments

Make a comment