Java final 关键字
在 Java 中, final 关键字用于表示常量。在本教程中,我们将通过示例了解 Java final 变量、方法和类。
在本教程中,我们将通过示例了解 Java final 变量、方法和类。
在 Java 中, final
关键字用于表示常量。它可以与变量、方法和类一起使用。
final
的特性包括:
final
变量只能赋值一次final
方法不能被覆盖final
类不能被继承
Java final 变量
在 Java 中,我们无法更改 final 变量的值。例如,
public class Main {
public static void main(String[] args) {
// 创建 final 变量
final int AGE = 32;
// 尝试修改 final 变量
AGE = 45;
System.out.println("Age: " + AGE);
}
}
在上面的程序中,我们创建了一个名为的 AGE
的 final
变量。 并且我们试图改变 final
变量的值。
当我们运行程序时,我们将收到带有以下消息的编译错误。
cannot assign a value to final variable AGE
AGE = 45;
^
!! 注意:在 Java 中建议 final 变量名使用大写。
Java final 方法
在了解 final 方法和 final 类之前,建议首先了解 Java 继承。
在 Java 中,final
方法不能被子类覆盖。例如,
class FinalDemo {
// final 方法
public final void display() {
System.out.println("This is a final method.");
}
}
public class Main extends FinalDemo {
// 尝试去覆盖 final 方法
public final void display() {
System.out.println("The final method is overridden.");
}
public static void main(String[] args) {
Main obj = new Main();
obj.display();
}
}
在上面的例子中,我们在 FinalDemo
类内部创建了一个名称为 display()
的 final 方法。 Main
类继承了 FinalDemo
类。
在 Main
类中,我们试图覆盖 FinalDemo
类中的 final 方法。当我们运行程序时,我们将收到带有以下消息的编译错误。
display() in Main cannot override display() in FinalDemo
public final void display() {
^
overridden method is final
Java final 类
在 Java 中, final
类不能被另一个类继承。例如,
// final 类
final class FinalClass {
public void display() {
System.out.println("This is a method.");
}
}
// 尝试去继承 final 类
public class Main extends FinalClass {
public void display() {
System.out.println("The method is overridden.");
}
public static void main(String[] args) {
Main obj = new Main();
obj.display();
}
}
在上面的例子中,我们创建了一个名为 FinalClass
的 final 类,并尝试使用 Main 类继承 FinalClass
类。
当我们运行程序时,我们将收到带有以下消息的编译错误。
cannot inherit from final FinalClass
public class Main extends FinalClass {
^