final 修饰类
1 final修饰一个类时,这个类不能被继承。
2 final修饰一个类时,所有成员方法都会被隐式地指定为final方法。
final 修饰方法
1 final修饰一个方法时,为了防任何继承类修改这个方法;
2 在早期的Java实现版本中,会将final方法转为内嵌调用(总结一句就是性能优化,现在版本不用去管它这一点)。
3 private方法会隐式地被指定为final方法.
final 修饰变量
一、简单的说 final变量一旦被初始化赋值之后,就不能再被赋值了;
二、 按变量数据类型说,首先变量类型有基本数据变量(如 int)和引用数据类型变量(如 Object)。
1 基本数据类型变量,一旦在初始化之后便不能更改;
2 引用数据类型变量:
1 对其初始化之后便不能再让其指向另一个对象。
2 但是 它指向的对象的内容(方法,成员变量等)是可变的。
3 不管是(基本数据类型变量还是引用数据类型变量)编译期间能知道它的确切值,则编译器会把它当做编译期常量使用;