02.谈一谈final的作用
fianl关键字的作用:
1.被final修饰的类不可以被继承
2.被final修饰的方法不可以被重写
3.被final修饰的变量不可以被改变
重点是第三句:被final修饰的变量不可以改变,什么不可以改变呢?是变量的引用?还是变量里面的内容?还是两者都可以改变?
情况例子:
从中我们看出:不可变的是 变量的引用 而非 引用指向对象的内容
另外:被final修饰的方法,JVM会尝试为之寻求内联,这对提升java的效率是非常重要的,因此能确定方法不会被继承,那么尽量将方法定义为final。
被final修饰的常量,在编译阶段会存入调用类的常量池中