c#sealed和Java的final关键字之间是否有任何function差异?

可能重复:
在C#中Java的最终结果是什么?

在Java中,final不仅适用于一个类。

所以,我想知道:两个关键字之间是否有任何function差异?

谢谢,对不起相对noob的问题。

快速的Google搜索无法满足我的需求。

Java的final关键字相当于C#的sealedreadonlysealed关键字。

这三个中的两个在Java和C#中有所不同:

在Java中,默认情况下方法是虚拟的,因此任何方法都可以声明为final以防止它被覆盖。 在C#中,默认情况下方法不是虚拟的,因此可以将唯一被覆盖的方法声明为sealed (以防止它们被进一步覆盖)

在Java中,任何变量或字段都可以声明为final以防止在初始化后更改它(对于字段,在构造函数之外)。 在C#中,可以只readonly字段,但效果完全相同,但局部变量不能。 请注意,Java没有等效的C#的const关键字。 (C#中的const是在编译时计算的,值是硬编码而不是被引用)

对于类,C#的sealed类和Java的final类完全相同(AFAIK)。

看一下这个答案: 在C#中Java的最终结果是什么?