常量变量是其值固定的变量,程序中仅存在一个副本。声明常量变量并为其分配值后,就无法在整个程序中再次更改其值。
与其他语言不同,java不直接支持常量。但是,您仍然可以通过声明变量static和final来创建常量。
静态-声明了静态变量后,它们将在编译时加载到内存中,即只有一个副本可用。
Final-声明变量final后,就无法再次修改其值。
因此,可以通过将实例变量声明为static和final来在Java中创建一个常量。
示例classData{
staticfinalintintegerConstant=20;
}
publicclassConstantsExample{
publicstaticvoidmain(Stringargs[]){
System.out.println("valueofintegerConstant:"+Data.integerConstant);
}
}
输出结果valueofintegerConstant:20
valueofstringConstant:hello
valueoffloatConstant:1654.22
valueofcharacterConstant:C
没有静态关键字的常量
如果创建不带static关键字的最终变量,尽管其值不可修改,但每次创建新对象时都会创建该变量的单独副本。
示例
例如,请看以下Java程序,classData{
finalintintegerConstant=20;
}
publicclassConstantExample{
publicstaticvoidmain(Stringargs[]){
Dataobj1=newData();
System.out.println("valueofintegerConstant:"+obj1.integerConstant);
Dataobj2=newData();
System.out.println("valueofintegerConstant:"+obj2.integerConstant);
}
}
输出结果valueofintegerConstant:20
valueofintegerConstant:20
在这里,我们创建了一个最终变量,并尝试使用两个对象来打印其值,因为在两个实例中该变量的值都相同,因为我们为每个变量使用了一个不同的对象,它们是实际变量的副本。
根据常量的定义,您需要在整个程序(类)中具有变量的单个副本。
因此,要创建常量作为pert定义,需要将其声明为static和final。