final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量);
final修饰class类里面,这个类不能被继承;
例:Cylindet 继承Roundness
final修饰在变量中,如果是基本数据类型的变量,则数值一旦被初始化之后便不能更改;如果是引用类型的变量,则对初始化之后便不能在让其指向另一个对象;
例:变量i和test的重新赋值都报错了;
final修饰在方法中有两个原因。一个是把方法锁定,以防任何继承修改他的含义;第二个是效率;早期java实现版本中,会将final方法转为内嵌调用;但是方法过于方法的话,可能看不到内嵌调用带来的任何性能提升;现在的java版本中,已经不需要使用final方法进行这些优化了;