理解 Java 中的 final 关键字

final 关键字是 Java 编程语言中一个重要的修饰符,它可以应用于类、方法和变量。理解 final 的用法和作用对于编写稳健和高效的 Java 代码至关重要。在本文中,我们将深入探讨 final 关键字的各种用法及其意义。

一、final 变量

在 Java 中,使用 final 关键字声明的变量被称为常量。一旦被赋值,就不能再更改。final 变量的用法如下:

public class FinalVariableExample {
    public static final int MAX_SIZE = 100;

    public static void main(String[] args) {
        final int localVariable = 10;
        // localVariable = 20; // 编译错误,无法重新赋值
        System.out.println("Local final variable: " + localVariable);
    }
}

注意点:

  • final 变量必须在声明时或构造函数中进行初始化。
  • 常用于定义常量,例如 public static final 组合来定义类常量。

二、final 方法

使用 final 修饰的方法不能被子类重写。这对于确保方法的行为在继承体系中保持不变非常有用。

public class FinalMethodExample {
    public final void displayMessage() {
        System.out.println("This is a final method.");
    }
}

public class SubClass extends FinalMethodExample {
    // public void displayMessage() { 
    //     // 编译错误,无法重写父类的 final 方法
    // }
}

注意点:

  • final 方法在设计不可变类或希望确保某些方法不被修改时特别有用。
  • 提高安全性,防止子类改变核心方法的行为。

三、final

使用 final 修饰的类不能被继承。这样可以避免类的设计被扩展和修改。

public final class FinalClassExample {
    public void displayMessage() {
        System.out.println("This is a final class.");
    }
}

// public class SubClass extends FinalClassExample { 
//     // 编译错误,无法继承 final 类
// }

注意点:

  • 适用于工具类或希望确保类不被扩展的情况。
  • 增加了安全性,防止类的意图被子类改变。

四、final 参数

方法参数也可以用 final 修饰,表示参数在方法内部不能被修改。

public class FinalParameterExample {
    public void displayValue(final int value) {
        // value = 20; // 编译错误,无法修改 final 参数
        System.out.println("Final parameter value: " + value);
    }
}

注意点:

  • 常用于确保参数在方法中保持不变。
  • 提高代码的可读性和维护性。

参考链接

在这里插入图片描述

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部