如何在Java中声明一个常量变量

292 阅读2分钟

要在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 实例。

例如,假设常量变量被声明在一个名为Helperclass ,如下图所示:

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中声明一个常量变量,干得好!😉