要在Java中声明一个常量变量,你需要在声明你的变量时使用final 和(或)static 修改器。
Java的final 修饰符用于创建一个固定的变量。在一个final 变量创建后,你不能改变它所存储的值。
同时,static 修饰符被用来使一个变量可以被访问,而不需要实例化拥有它的类。
要创建一个常量变量,你需要在初始化该变量时使用final 修饰符,如下图所示:
class Main {
public static void main(String[] args) {
final String COLOR_RED = "#FF0000";
COLOR_RED = "(255,0,0)";
//^ ERROR: Cannot assign a value to final variable 'COLOR_RED'
}
}
在上面的例子中,定义了一个恒定的String 类型的变量,名称为COLOR_RED 。它包含了十六进制的红色代码。
在初始化下面,COLOR_RED 变量被重新赋值为十进制格式的红色代码。
当你试图编译上面的代码时,Java会抛出Cannot assign a value to final variable 'COLOR_RED' 错误。
根据Java的惯例,常量名称应该全部是大写字母,单词之间用下划线隔开。
给Java常量添加静态修饰符
虽然final 修饰符足以使一个常量成为变量,但通常会添加static 修饰符,以使变量可以被访问,而不需要生成class 实例。
例如,假设常量变量被声明在一个名为Helper 的class ,如下图所示:
class Helper {
final String COLOR_RED = "#FF0000";
}
当你试图从main() 方法中调用该变量时,会发生错误:
class Main {
public static void main(String[] args) {
System.out.println(Helper.COLOR_RED);
//^ Non-static field 'COLOR_RED'
// cannot be referenced from a static context
}
}
为了使用这个变量,你需要先创建一个持有class 的实例,像这样:
class Main {
public static void main(String[] args) {
Helper helper = new Helper();
System.out.println(Helper.COLOR_RED); // valid
}
}
为了避免创建Helper 类的实例,你需要将COLOR_RED 变量定义为静态。
当你这样做时,该变量应该可以直接从Helper 类中访问:
class Helper {
static final String COLOR_RED = "#FF0000";
}
class Main {
public static void main(String[] args) {
System.out.println(helper.COLOR_RED);
}
}
但如果你需要在访问变量之前先实例化class ,你可以自由地省略static 修饰符。
现在你已经学会了如何在Java中声明一个常量变量,干得好!😉