【Java语言基础】final关键字

Ianthe ·
更新时间:2024-11-13
· 558 次阅读

【Java语言基础】final关键字

修饰词:final 最终的最后的
final关键字可用于修饰符,变量和方法,用于表示它修饰的类,方法和方法不可改变。

final 最终的最后的
final修饰变量时,表示该变量一旦获得了初始值之后就不可被改变,final既可修饰成员变量(包括类变量和实例变量),也可以修饰局部变量,形参。
final修饰成员变量

类变量:当类初始化时,系统会为类变量分配内存,并赋默认值。 实例变量:当创建对象时,系统会为该对象的实例属性分配内存,并赋默认值。

final修饰局部变量

可以在定义时指定默认值,则后面代码中不能再对改变量赋值。 如果在定义时没有指定默认值,则可以在后面代码中对final变量赋初始值,但是只能一次,不能重复赋值。

final修饰类变量,实例变量能指定初始值的地方如下:

类变量:静态初始化块或声明该属性时指定初始值。 实例变量:非静态初始化块,声明该属性时或构造方法种指定初始值。

注意:实例属性不能在静态初始化块种指定初始值,因为静态初始化块是静态成员,不可访问实例属性——非静态成员;类属性不能在普通初始化块种指定初始值,因为类属性在类初始化阶段已经被初始化了,普通初始化不能对其重新赋值。

总结:

修饰类:final修饰的类不能被继承。

修饰成员变量:可以直接初始化,也可以在构造器中初始化,除了以上两种情况不能在其他任何地方再次赋值,只可赋值一次。

修饰局部变量:只能初始化一次。

修饰方法:被final修饰的方法,不能在子类中重写,但是可以在子类中使用。


作者:董小宇



java语言 JAVA final

需要 登录 后方可回复, 如果你还没有账号请 注册新账号