记录一下Java中final的作用

记录一下Java中final的作用

  final关键字可以修饰类、成员变量、方法、以及方法中的局部变量。

1、final修饰类

  可以使用final将类声明为final类。final类不能被继承,即不能有子类。例如:

final class A{
	...
}

  A就是一个final类,将不允许任何类声明成A的子类。有时候是出于一些安全性的考虑,将一些类修饰为final类。例如,Java在java.lang包中提供的String类对于编译器和解释器的正常运行有着很重要的作用,Java不允许用户程序扩展String类,为此,Java将它修饰为final类。

2、final修饰方法

  如果用final修饰父类中的一个方法,那么这个方法不允许子类重写,也就是说,不允许子类隐藏可以继承的final方法(老老实实继承,不做任何篡改)。

3、final修饰变量

  如果成员变量或局部变量被修饰为final,那他就是常量。由于常量在运行期间不允许再发生变化,所以常量在声明时没有默认值,这就要求程序在声明常量时指定该常量的值。

public class A {
    final double PI = 3.1415926;
    public double getArea(final double r){
        //r = r + 1;  //非法,不允许对final变量进行更新操作
        return PI * r * r;
    }
    public final void speak(){ //该final方法不允许被重写
        System.out.println("hello world");
    }
}

4、final修饰的对象

  final修饰的对象引用不可变,内容可变。

posted @ 2022-05-02 15:07  爱吃雪糕的小布丁  阅读(1)  评论(0编辑  收藏  举报  来源