会有人请告诉我,作为以下使用的原因, sealed
不编译? 然而,如果我顶替sealed
与final
并编译它如Java,它的工作原理。
private sealed int compInt = 100;
public bool check(int someInt)
{
if (someInt > compInt)
{
return true;
}
return false;
}
会有人请告诉我,作为以下使用的原因, sealed
不编译? 然而,如果我顶替sealed
与final
并编译它如Java,它的工作原理。
private sealed int compInt = 100;
public bool check(int someInt)
{
if (someInt > compInt)
{
return true;
}
return false;
}
这是因为, final
取决于你,而使用它在Java中意味着很多不同的东西sealed
在C# 只适用于类和潜在的虚拟成员(方法,属性,事件)。
在Java中final
可以适用于:
sealed
。 virtual
并且在此可以防止进一步的派生类与派生类sealed
试。 readonly
。 Sealed
在C#
只能应用于引用类型 ,并且对继承树的影响。
在实践中标记为类型sealed
存在保证是在继承树的最后一个“叶”,或简称,你不能从申报象类型派生sealed
。
public sealed class Child : Base
{
}
public class AnotherAgain : Child //THIS IS NOT ALLOWED
{
}
它不能应用于成员。
而乔伊的是一点点狄格兰不正确的答案是没有错的。
首先,你可以看看这个页面: 什么是Java的决赛在C#中的相同呢? 。
在sealed
关键字可以应用于class
, instance method
和property
,但不是变量,或接口的方法。 带类的sealed
不能被继承。 当sealed
穿上方法,它必须是由override
在公司。 每一个struct
是sealed
,所以struct
不能被继承。 选中此图片: