常量是一个变量,它的值一旦被赋值就不能改变。Java没有内置对常量的支持,但是变量修饰符static和final可以用来有效地创建常量。
常量可以使您的程序更容易被其他人阅读和理解。此外,JVM和应用程序都会缓存一个常量,因此使用常量可以提高性能。
static 修饰符
这允许在不创建类实例的情况下使用变量;静态类成员与类本身相关联,而不是与对象相关联。所有类实例共享变量的相同副本。
这意味着另一个应用程序或main()可以轻松地使用它。
例如,class myClass包含一个静态变量days_in_week:
public class myClass { static int days_in_week = 7; }
因为此变量是静态的,所以可以在其他地方使用它而无需显式创建myClass对象:
public class myOtherClass { static void main(String[] args) { System.out.println(myClass.days_in_week); } }
final修饰符
final修饰符意味着变量的值不能改变。分配值后,无法重新分配。
可以使用final修饰符使原始数据类型(即int,short,long,byte,char,float,double,boolean)成为不可变/不可更改的。
这些修饰符一起创建一个常量变量。
static final int DAYS_IN_WEEK = 7;
注意,在添加final修饰符之后,我们在所有大写中声明DAYS_IN_WEEK。在Java程序员中,用大写字母定义常量变量以及用下划线分隔单词是一种长期的实践。
Java不需要这种格式,但它使任何阅读代码的人更容易立即识别常量。
常数变量的潜在问题
在Java中,final关键字的工作方式是变量指向值的指针不能更改。让我们重复一下:它是不能改变它所指向的位置的指针。
不能保证被引用的对象将保持不变,只能保证变量将始终持有对同一对象的引用。如果引用的对象是可变的(即具有可以更改的字段),那么常量变量可能包含一个与最初分配的值不同的值。
以上是如何在Java中使用常量的详细内容。更多信息请关注PHP中文网其他相关文章!