02.谈一谈final的作用

fianl关键字的作用:

    1.被final修饰的类不可以被继承

    2.被final修饰的方法不可以被重写

    3.被final修饰的变量不可以被改变

 

重点是第三句:被final修饰的变量不可以改变,什么不可以改变呢?是变量的引用?还是变量里面的内容?还是两者都可以改变?

情况例子:

02.谈一谈final的作用

从中我们看出:不可变的是 变量的引用 而非 引用指向对象的内容

另外:被final修饰的方法,JVM会尝试为之寻求内联,这对提升java的效率是非常重要的,因此能确定方法不会被继承,那么尽量将方法定义为final。

被final修饰的常量,在编译阶段会存入调用类的常量池中