回答的很精妙:
That's because
In Java
final
in Java means plenty of different things depending on where you use it whereas sealed
in C# applies only to classes.In Java
final
can be applied to:- classes, which means that the class cannot be inherited. This is the equivalent of C#'s
sealed
. - methods, which means that the method cannot be
overridden in a derived class. This is the default in C#, unless you
declare a method as
virtual
and in a derived class this can be prevented for further derived classes withsealed
again. - fields and variables, which means that they can only be initialized once. For fields the equivalent in C# is
readonly
.