Java的关键字final有“无法改变的”,“终态的”含义。可以用于修饰非抽象类、非抽象类成员方法和变量。
使用final来阻止改变一般基于两种理解:设计或效率
1-final不能用于修饰构造方法
2-final类
final类不能被继承,final类中的方法默认是final的。在设计类时,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会被扩展,那么就设计为final类。
3-final方法
final方法不能被子类覆盖,但可以被继承。
基于如下原因使用final方法
-锁定方法,防止任何继承类修改它的意义与实现
-高效,编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率
4-final变量
final变量表示常量,只能被赋值一次。并且在使用前需要被初始化(编译器会校验)
5-final参数
final参数时只读类型的
使用final来阻止改变一般基于两种理解:设计或效率
1-final不能用于修饰构造方法
2-final类
final类不能被继承,final类中的方法默认是final的。在设计类时,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会被扩展,那么就设计为final类。
3-final方法
final方法不能被子类覆盖,但可以被继承。
基于如下原因使用final方法
-锁定方法,防止任何继承类修改它的意义与实现
-高效,编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率
4-final变量
final变量表示常量,只能被赋值一次。并且在使用前需要被初始化(编译器会校验)
5-final参数
final参数时只读类型的