修饰词:final 最终的最后的
final关键字可用于修饰符,变量和方法,用于表示它修饰的类,方法和方法不可改变。
final 最终的最后的
final修饰变量时,表示该变量一旦获得了初始值之后就不可被改变,final既可修饰成员变量(包括类变量和实例变量),也可以修饰局部变量,形参。
final修饰成员变量
final修饰局部变量
可以在定义时指定默认值,则后面代码中不能再对改变量赋值。 如果在定义时没有指定默认值,则可以在后面代码中对final变量赋初始值,但是只能一次,不能重复赋值。final修饰类变量,实例变量能指定初始值的地方如下:
类变量:静态初始化块或声明该属性时指定初始值。 实例变量:非静态初始化块,声明该属性时或构造方法种指定初始值。注意:实例属性不能在静态初始化块种指定初始值,因为静态初始化块是静态成员,不可访问实例属性——非静态成员;类属性不能在普通初始化块种指定初始值,因为类属性在类初始化阶段已经被初始化了,普通初始化不能对其重新赋值。
总结:
修饰类:final修饰的类不能被继承。
修饰成员变量:可以直接初始化,也可以在构造器中初始化,除了以上两种情况不能在其他任何地方再次赋值,只可赋值一次。
修饰局部变量:只能初始化一次。
修饰方法:被final修饰的方法,不能在子类中重写,但是可以在子类中使用。