Java基础知识总结——final关键字

final 关键字可用于修饰类、变量和方法,用于表示它修饰的类、方法和变量不可改变。

final 成员变量

final 修饰的成员变量必须由程序员显示地指定初始值。

  • 类变量:必须在静态初始化块中指定初始值,或声明该类变量时指定初始值。
  • 实例变量:必须在非静态初始化块、声明该实例变量或构造器中指定初始值。

final 局部变量

系统不会对局部变量进行初始化,局部变量必须由程序员显式初始化。因此使用 final 修饰局部变量时,既可以在定义时指定默认值,也可以不指定默认值。
如果 final 修饰的局部变量在定义时没有指定默认值,则可以在后面代码中对该 final 变量赋初始值,但只能一次,不能重复赋值;如果 final 修饰的局部变量在定义时已指定默认值,则后面代码中不能再对该变量赋值。

final 修饰基本类型变量和引用类型变量的区别

当使用 final 修饰基本类型变量时,不能对基本类型变量重新赋值,因此基本类型变量不能被改变。但对于引用变量而言,它保存的仅仅是一个引用,final 只保证这个引用类型变量所引用的地址不会改变,即一直引用同一个对象,但这个对象完全可以发生改变。

final 方法

final 修饰的方法不可以重写,但是可以被重载。

final 类

final 修饰的类不可以有子类

猜你喜欢

转载自blog.csdn.net/qingyunhuohuo1/article/details/109286930