final中文意思:最后的,最终的
final 可以修饰类、属性、方法和局部变量.
1.当不希望类被继承时,可以用final修饰。
final class A{ } //不可被继承
2.当不希望父类的某个方法被子类覆盖/重写(override)时,可以用final关键字修饰。
public final void hi(){} //不可重写的方法
3.当不希望类的的某个属性的值被修改,可以用final修饰.
public final double NUM = 0.7; //值不能修改
4.当不希望局部变量被修改,可以使用final修饰
public void hi(){
final double NUM = 0.7; //局部变量不能被修改
}
使用细节:
-
final修饰的属性又叫常量,一般用XX_XX_XX 来命名
-
final修饰的属性在定义时,必须赋初值,并且以后不能再修改,赋值可以在如下位置之一【选择一个位置赋初值即可】:
-
定义时直接赋值
-
在构造器中
-
在代码块中
-
-
-
如果final修饰的属性是静态的,则初始化的位置只能是
-
final类不能继承(方法就不用final),但是可以实例化对象。
-
如果类不是final类,但是含有final方法,则该方法虽然不能重写,但是可以被继承(能被子类使用)。
-
final不能修饰构造器
-
final和 static往往搭配使用,效率更高,不会导致类加载.底层编译器做了优化处理。
-
包装类(Integer,Double,Float,Boolean等都是final),String也是final类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)