final 修饰符

final

  • final 修饰的变量存储再堆内存中的常量池, 所以jvm的gc机制不会对final修饰的变量生效

  • final 修饰类, 不能被继承, 即final类没有子类

  • final 修饰变量

    • 基本变量: 不能重新修改, 基本变量的值

    • 引用变量: 存储的是一个引用, 指向实例对象的地址, final只能保证引用变量的地址不变,

      但是不能保证, 地址内的内容发生改变

  • final 修饰方法, 表示该方法不能重写

  • 为什么局部内部类中调用的局部变量要final修饰, 因为方法出栈消亡, 但是局部类不会,

    局部类由gc管理, 如果方法内的变量不是final, 变量随着方法出栈就会消失, 所以需要用

    final修饰, 但是jdk1.8 有语法糖不用显示声明也行

原文地址:https://www.cnblogs.com/kikochz/p/12837388.html