这是两个不同的问题:
- 标记为密封的类可以存在于密封类中吗?
- 标记为静态的类可以存在于密封类中吗?
这些问题只是为了更好地理解核心概念。谁能强调上述概念的实际用途?
C# 支持嵌套类的概念。使用术语“超类”是不合适的,这意味着嵌套类具有继承关系。什么都没有,“外部阶级”这个词是合适的。
它仅对控制可访问性有用。嵌套类可以访问外部类的私有成员。最有用的是,您可以将嵌套类声明为私有,这样外部类之外的任何代码都完全看不到它。比默认内部提供的更强大的保证。
所以接下来是声明外部类密封对嵌套类没有任何影响。只需尝试一下就可以很容易地看到自己。
是的。您可以将 astatic class
放在 asealed class
中。
以下是完全有效的:
public sealed class SealedClass
{
public static class StaticClass
{
}
}
反之亦然:
public static class SealedClass
{
public sealed class StaticClass
{
}
}
sealed
类?它们不能被继承。它提高了编译和运行时的性能。
static
类?它们不能被实例化。