final关键字
final 关键字使用说明
- final可以用来修饰成员变量, 局部变量,类和方法。
- final修饰的变量只能赋值一次,不能再次赋值。局部变量必须在声明的时候赋值,成员变量可以在声明或者类的构造方法中赋值。
- 匿名内部类使用外部变量时,变量需要声明为final类型。
- final修饰的局部变量,并不作为gc时的root根,在使用完成之后也会被回收掉。
- final修饰的局部变量和方法参数的意义在于得到一个变量的引用拷贝,并维护这个变量的生命周期。
- 接口中声明的所有变量默认是final的
- byte运算会自动提升为int,而final修饰的变量不会提升类型,当2个final修饰相加时候会根据左边变量的类型而转化,作为这2个final变量的最终类型,final int和final byte相加是整形和byte型都可以,不需要强制转换。
- final修饰变量是指变量指向的引用不可变,而引用的对象内部数据可以变化。
- final修饰的类不能被继承,成员方法默认都是final的,如java.long.String类
- 方法被final修饰后,一是不能被子类重写;二是编译的时候会尝试内联,对于提升Java的效率是非常重要;三是静态绑定,也会提升运行效率
推荐阅读
- java之static、static|java之static、static final、final的区别与应用
- 越努力越幸福
- 精准!找到想要的关键字
- java|java 中的native关键字
- 为什么内部类中访问局部变量,局部变量需要final修饰
- js专题之this关键字详解
- 其实 MySQL 中的 like 关键字也能用索引!
- 头部协议,网页描述,关键字,重定向,加载css|头部协议,网页描述,关键字,重定向,加载css,js
- python编程|【Python】日志关键字分析工具
- PopupWindow|PopupWindow 简单实用(居中显示)