Java常量
Java常量简介
在程序中存在大量的数据来代表程序的状态,其中有些数据在程序运行过程中值不能发生改变,这些数据在程序中被叫做常量。当然在实际的程序中,可以根据数据在程序运行中是否发生改变,来选择应该是使用变量代表还是常量代表。
Java中用final修饰的成员变量表示常量,值一旦给定就无法改变!
作用
常量代表程序运行过程中不能改变的值。
常量在程序运行过程中主要有2个作用:
1. 代表常数,便于程序的修改(例如:圆周率的值)
2. 增强程序的可读性(例如:常量UP、DOWN、LEFT和RIGHT分辨代表上下左右,其数值分别是1、2、3和4)
常量的语法格式和变量类型,只需要在变量的语法格式前面添加关键字final即可。在Java编码规范中,要求常量名必须大写。
语法
Java常量的语法格式如下:
final 数据类型 常量名称 = 值;
final 数据类型 常量名称1 = 值1, 常量名称2 = 值2,……常量名称n = 值n;
示例代码如下:
final double PI = 3.14;
final char MALE=‘M’,FEMALE=‘F’;
在Java语法中,常量也可以首先声明,然后再进行赋值,但是只能赋值一次。
示例代码如下:
final int UP;
UP = 1;
类型
Java静态常量
在项目中,一般都有很多静态常量,静态常量往往由于访问效率比较高。不过一般会把他们放在哪呢
一:放到Interface,因为 Java interface中声明的字段在编译时会自动加上static final的修饰符,即声明为常量
二:放到文件,如Properties文件
三:放到Class,使用final String 。
第一跟第三种,会产生如下的问题:
那就是在Class 或者Interface定义的字符串常量 A = “a” 如果被其他类B使用了
这个时候如果想修改 A = “A” 则被之前被使用的其他类B必须重新编译才能生效
原因:常量,编译器是直接把常量赋给了B的使用处,并不是变量。所以对于常量A改变了, B使用A是不知道的。
解决方法:
private static final String a= "a";
public static String getA(){
return a;
}
B使用的时候 就调用getA()函数,不过这样其实就比直接使用变量低效了一点点
Java局部常量
放到Class里面使用final的的类型
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。