亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java final 关键字

Java final 关键字

在本教程中,我们将通过示例了解 Java final 变量、方法和类。

在 Java 中,final 关键字用于表示常量。它可以与变量、方法和类一起使用。

一旦声明了任何实体(变量、方法或类)final ,它只能分配一次。也就是说,


1. Java 最终变量

在 Java 中,我们无法更改最终变量的值。例如,

class Main {
  public static void main(String[] args) {

    // create a final variable
    final int AGE = 32;

    // try to change the final variable
    AGE = 45;
    System.out.println("Age: " + AGE);
  }
}

在上面的程序中,我们创建了一个名为 age 的最终变量 .并且我们已经尝试改变 final 变量的值。

当我们运行程序时,我们会得到一个编译错误,并显示以下消息。

cannot assign a value to final variable AGE
    AGE = 45;
    ^

注意 :Java 中声明final变量建议使用大写。


2. Java final 方法

在了解 final 方法和 final 类之前,请确保您了解 Java 继承。

在 Java 中,final 方法不能被子类覆盖。例如,

class FinalDemo {
    // create a final method
    public final void display() {
      System.out.println("This is a final method.");
    }
}

class Main extends FinalDemo {
  // try to override final method
  public final void display() {
    System.out.println("The final method is overridden.");
  }

  public static void main(String[] args) {
    Main obj = new Main();
    obj.display();
  }
}

在上面的例子中,我们创建了一个名为 display() 的最终方法 FinalDemo 内 班级。这里,Main 类继承 FinalDemo 类。

我们试图覆盖 Main 中的 final 方法 班级。当我们运行程序时,我们会得到一个编译错误,并显示以下消息。

 display() in Main cannot override display() in FinalDemo
  public final void display() {
                    ^
  overridden method is final

3. Java最终类

在 Java 中,final 类不能被另一个类继承。例如,

// create a final class
final class FinalClass {
  public void display() {
    System.out.println("This is a final method.");
  }
}

// try to extend the final class
class Main extends FinalClass {
  public  void display() {
    System.out.println("The final method is overridden.");
  }

  public static void main(String[] args) {
    Main obj = new Main();
    obj.display();
  }
}

在上面的例子中,我们创建了一个名为 FinalClass 的最终类 .在这里,我们尝试通过 Main 继承最终类 类。

当我们运行程序时,我们会得到一个编译错误,并显示以下消息。

cannot inherit from final FinalClass
class Main extends FinalClass {
                   ^

java

  1. C# 静态关键字
  2. Java instanceof 运算符
  3. Java 继承
  4. Java 嵌套静态类
  5. Java 匿名类
  6. Java 单例类
  7. Java 反射
  8. Java ArrayList 类
  9. Java 堆栈类
  10. Java ObjectOutputStream 类
  11. Java 泛型
  12. Java 文件类