final

1 final关键字修饰不同的java概念,其作用不同。

2 当final修饰变量时

那么这个变量一旦被赋值,就不能再改变了,也就是说,这个变量永远指向同一个地址处。比如一个指向对象的final引用,这个引用永远得指向这个对象,如在代码中修改了,那么编译器会报错,编译不过。但是对这个对象本身的修改是不受影响的。

单例模式中用final修饰,保证所有人获得的对象就是这个,这个引用永远都不会发生变化。

3 当final修饰一个函数时

该函数不能被子类覆盖。

4 当final修饰一个类时

该类不能被继承,这个类是继承层次里面的最底层。

原文地址:https://www.cnblogs.com/hustdc/p/6433292.html