一、final修饰符概述
1. final可以修饰类、变量和方法
2. final修饰的类、变量和方法不可改变
二、final成员变量
1. 对于final修饰的成员变量而言,一旦有了初始值,就不能被重新赋值
2. 由于成员变量不一定需要显式初始化,故那些既没有在定义时指定初始值,也没有在初始化块、构造器中指定初始值的final成员变量的值将一直是系统默认分配的0、‘\u0000‘、false或null,这些final成员变量也就完全失去了存在的意义,因此Java规定:final修饰的成员变量必须由程序员显式地指定初始值
- final类变量:必须在静态初始化块中指定初始值或声明该类变量时指定初始值,而且只能在两个地方的其中之一指定
- final实例变量:必须在非静态初始化块、声明该实例变量或构造器中指定初始值,而且只能在三个地方的其中之一指定
原文地址:https://www.cnblogs.com/xzxl/p/10998741.html
时间: 2024-11-21 03:11:39