C# 中的 Java final 等效关键字
本教程将讨论与 Java 中的 final 关键字等效的 C# 关键字。
Java final
关键字在 C# 中的等效
不幸的是,C# 中没有关键字与 Java 中的 final
关键字具有相同的作用。final
关键字在不同的上下文中具有不同的目的。在类中,函数声明 final
关键字用于防止从类继承或虚函数的任何新定义。在字段初始化中,final
关键字用于指定以后无法在程序中修改特定的字段值。
类和函数声明中的 Java final
关键字
如果用于类或函数声明,则 C# 中的 sealed
关键字与 Java 语言中的 final
关键字等效。以下代码示例向我们展示了如何在 Java 的类声明中使用 final
关键字。
public final class MyFinalClass {
...
}
上面的代码使我们无法继承 Java 中的 MyClass
类。可以使用 C# 中的 sealed
关键字来实现此目标。下面的代码示例向我们展示了如何在 C# 的类声明中使用 sealed
关键字。
public sealed class MySealedClass {
...
}
上面的代码使我们无法在 C# 中继承 MySealedClass
类。final
关键字还指定在 Java 中不能再没有虚拟函数的定义。以下代码示例向我们展示了如何在 Java 的函数声明中使用 final
关键字。
public class MyClass {
public final void myFinalFunction() {
...
}
}
这使我们无法在 Java 中对虚拟函数 myFinalFunction()
进行更多定义。我们可以使用 C# 中的 sealed
和 override
关键字来复制此功能。以下代码示例向我们展示了如何在 C# 的函数声明中使用 sealed
关键字。
public class MyChildClass : MyParentClass {
public sealed override void mySealedFunction() {
...
}
}
上面的代码使我们无法在 C# 中对虚拟函数 mySealedFunction()
进行更多定义。
Java 字段初始化中的 final
关键字
如果用于字段初始化,则 C# 中的 readonly
关键字与 Java 语言中的 final
关键字等效。以下代码示例向我们展示了如何在 Java 的字段初始化中使用 final
关键字。
public final float g = 10;
这样可以防止我们在 Java 中更改 g
的值。可以使用 C# 中的 readonly
关键字来实现此目标。下面的代码示例向我们展示了如何在 C# 的字段初始化中使用 readonly
关键字。
public readonly float g = 10;
这样可以防止我们在 C# 中更改 g
的值。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn