C# 密封与 Java 最终版本
有人会告诉我,为什么下面的使用没有编译?然而,如果我用Java替换并编译它,它就可以工作了。sealedsealedfinal
private sealed int compInt = 100;
public bool check(int someInt)
{
    if (someInt > compInt)
    {
        return true;
    }
    return false;
}
						有人会告诉我,为什么下面的使用没有编译?然而,如果我用Java替换并编译它,它就可以工作了。sealedsealedfinal
private sealed int compInt = 100;
public bool check(int someInt)
{
    if (someInt > compInt)
    {
        return true;
    }
    return false;
}
						这是因为在Java中意味着很多不同的东西,这取决于你使用它的位置,而在C#中只适用于类和继承的虚拟成员(方法,属性,事件)。finalsealed
在Java中可以应用于:final
sealedvirtualsealedsealedfinalreadonlySealedin 只能应用于引用类型,并且对继承树有影响。C#
在实践中,标记为保证为继承树中最后一个“叶子”的类型,或者简而言之,不能从像 .sealedsealed
public sealed class Child : Base 
{
}
public class AnotherAgain : Child //THIS IS NOT ALLOWED
{
}
它不能应用于成员。