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