Java中的 final 关键字都可以用在哪些地方?

254 阅读1分钟

参考回答: final 可以用来修饰类、变量和方法。

被 final 修饰的类,将不能被继承;

被 final 修饰的变量,分为两种情况:

  • 如果是基本数据类型的变量,变量值将不能被改变。(俗称:常量)

  • 如果是引用数据类型的变量,变量所指向的引用不能被改变,但所引用对象的内容可以改变。

public class Test {
    // final修饰的成员变量可以直接赋值初始化,或者也可以在构造方法中初始化
    // final修饰基本数据类型变量,变量值将不能更改
    public final int element = 10;
    // final修饰引用数据类型变量,可改内容,不可改引用
    public final List<Integer> list = new ArrayList<Integer>();
	
    public void test(int element) {
        // this.element = element;
        list.add(element);
    }
}

被 final 修饰的方法,将不能被子类重写。

推荐理解思路: final 是最终的意思,所以无论是修饰什么,都要紧扣此含义。

image-20210418171447341