举报投诉联系我们 手机版 热门标签 名动网
您的位置:名动网 > javafinal关键字的使用 Java final关键字

javafinal关键字的使用 Java final关键字

2023-03-04 05:20 Java教程

javafinal关键字的使用 Java final关键字

javafinal关键字的使用

final关键字是Java中的一个重要的修饰符,它可以用来修饰类、方法和变量。final关键字可以帮助我们更好地控制程序的行为,使得程序更加健壮。

1. 修饰类:当一个类被声明为final时,它就不能被继承了,也就是说不能有子类。例如String、Math、Integer这些都是final类。

public final class MyClass {
    // ...
}

2. 修饰方法:当一个方法被声明为final时,它就不能被子类重写了。例如Object中的equals()、hashCode()、toString()都是final方法。

public final void myMethod() {  // 方法前加上 final 关键字 
    // ... 
}

3. 修饰变量:当一个变量被声明为final时,它的值就不能被改变了。例如常量PI=3.1415926...就是一个final变量。

public static final double PI = 3.1415926;   // 加上 static 和 final 关键字 

使用final关键字有以下几大优势:

  • 1) 提升性能:

因为使用了final关键字后,JVM会对它进行优化处理,比如将它直接替换成实际的值或者将它当作常量来处理。这样就大大提升了性能。


  • 2) 更好地进行代码复用:

因为使用了final关键字后,子类就不能覆盖该方法或者变量了,所以在代码复用上也有很大的好处。


  • 3) 更好地进行代码测试:

因为使用了final关键字后,子类就不能覆盖该方法或者变量了,所以在代码测试上也有很大的好处。因此在开发中应该尽量使用final关键字来保证代码的健壮性和正确性。


Java final关键字

Java面向对象设计 - Java final关键字


final关键字不允许修改或替换其原始值或定义。

final关键字可以在以下三个上下文中使用:

  • 变量声明
  • 类声明
  • 方法声明

final 变量

如果一个变量被声明为final,它只能被赋值一次。最终变量的值在设置后不能修改。

变量声明包括局部变量的声明,方法/构造函数的形式参数,实例变量和类变量。

变量声明包括局部变量的声明,方法/构造函数的形式参数,实例变量和类变量。

final int YES  = 1;

我们可以只设置一次final变量的值。

有两种方法来初始化final变量:

  • 在声明时予以初始化。
  • 将其初始化延迟到稍后的时间。

但是,我们必须在第一次读取最终变量之前初始化它。

  • final局部变量

    你可以声明一个局部变量fi​​nal。如果将局部变量声明为空的最终变量,则必须在使用前初始化它。

  • final参数

    我们可以声明一个参数final。当调用方法或构造函数时,参数将使用实际参数的值自动初始化。

    因此,您不能更改方法或构造函数体内的最终形式参数的值。

  • final实例变量

    我们可以声明一个实例变量final和blank final。

    空白最终实例变量必须初始化一次,并且只有在调用类的任何构造函数时才初始化一次。

  • final类变量

    我们可以声明一个类变量final和blank final。我们必须在其中一个静态初始化器中初始化一个空的最终类变量。

  • final引用变量

    引用变量存储对象的引用。最终引用变量意味着,一旦引用一个对象(或null),它就不能被修改以引用另一个对象。

以下代码显示了test2()方法的最终形式参数x:

public void  test2(final int x)  {

如果我们有一个类的多个静态初始化器,我们必须在一个静态初始化器中初始化所有空的最终类变量一次。

public class Main {
  public static final int YES = 1;
  public static final int NO = 2;
  public static final String MSG;

  static {
    MSG = "final static variable";
  }
}

final 类

如果一个类被声明为final,它不能被扩展(或子类化)。

final 方法

如果一个方法声明为final,它不能在包含该方法的类的子类中重新定义(覆盖或隐藏)。

阅读全文
以上是名动网为你收集整理的javafinal关键字的使用 Java final关键字全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 名动网 mdwl.vip 版权所有 联系我们