我有一个名为fdetails
的类,我不希望任何其他类继承此类。
我可以将其设置为不被其他类继承。我想用以下3种语言完成这项工作:
答案 0 :(得分:36)
java: final
vb: NotInheritable (NonOverrideable for properties)
c#: sealed
答案 1 :(得分:8)
在Java中使用final关键字:
public final class fdetails{
}
在C#中使用密封关键字:
public sealed class fdetails{
}
在VB.net中使用NotInheritable关键字:
public notinheritable class fdetails
end class
答案 2 :(得分:4)
在C#中,您使用sealed
关键字以防止继承类。
在VB.NET中,您使用NotInheritable
关键字。
在Java中,您使用关键字final
。
答案 3 :(得分:3)
在JAVA中 - 使用final关键字:
public final class FDetails
在C#中 - 密封关键字:
sealed class FDetails
答案 4 :(得分:1)
为了防止继承C#中的类,使用关键字sealed。因此,密封类可能不会作为任何其他类的基类。很明显,密封类不能是抽象类。代码如下......
//C# Example
sealed class ClassA
{
public int x;
public int y;
}
没有类可以从上面定义的ClassA继承。可以创建ClassA的实例,然后可以访问其成员,但是下面的代码不可能......
class DerivedClass : ClassA { } // Error
在Jave和VB.net中相同:
java: final
vb: NotInheritable (NonOverrideable for properties)
答案 5 :(得分:0)
或者选择https://stackoverflow.com/a/4096427/5292885,也可以使用私有构造函数创建基类以避免继承(在C#中,您会得到类似该类由于其保护级别而无法访问这样的错误,以防万一如果您引用基类)
答案 6 :(得分:0)
对于 C#,它是“密封”关键字。
对于 Java,它是“final”关键字。