欢迎光临散文网 会员登陆 & 注册

如何在Java中使用 final 关键字?

2023-02-26 23:10 作者:YSOcean  | 我要投稿

在Java中,final关键字有多种用途,它可以用来定义常量、防止方法被覆盖、防止类被继承和确保对象的不可变性。下面将分别介绍这些用途。

  1. 定义常量

在Java中,可以使用final关键字定义常量。被final修饰的变量只能被赋值一次,之后不能再修改。定义常量的方式是在变量声明时使用final关键字,并将其初始化。例如:

final int MAX_VALUE = 100;

这里定义了一个名为MAX_VALUE的常量,它的值为100,一旦初始化后就不能再修改。

  1. 防止方法被覆盖

在Java中,子类可以覆盖父类的方法。有时候我们希望某个方法在子类中不能被覆盖,可以使用final关键字修饰方法。被final修饰的方法不能被子类覆盖。例如:

public class SuperClass { public final void method() { System.out.println("This method cannot be overridden."); } }

public class SubClass extends SuperClass { // This method will cause a compilation error, because it tries to override the final method. public void method() { System.out.println("This method is overridden."); } }

  1. 防止类被继承

有时候我们希望某个类不能被继承,可以使用final关键字修饰类。被final修饰的类不能被其他类继承。例如:

public final class MyClass { // ... }

public class SubClass extends MyClass { // This code will cause a compilation error, because MyClass is final and cannot be extended. }

  1. 确保对象的不可变性

有时候我们希望某个对象的状态不能被修改,可以使用final关键字修饰对象的属性。被final修饰的属性只能在对象创建时被赋值,之后不能再修改。例如:

public class ImmutableClass { 

private final int value;

public ImmutableClass(int value) {

    this.value = value;

}


public int getValue() {

    return value;

}

在上面的例子中,value属性被final修饰,因此它只能在构造函数中被赋值一次,之后不能再修改。这样可以确保对象的状态不会被修改。

如何在Java中使用 final 关键字?的评论 (共 条)

分享到微博请遵守国家法律