常量static final
演示代码如下
package day38;
public class StaticFinalDemo {
public static void main(String[] args) {
System.out.println(Aoo.PI);//类名点来访问
//Aoo.PI = 3.1515926;//编译错误,常量不能被改变
//1)加载Boo.call到方法区
//2)静态变量num也存储到方法区中
//3)到方法区中获取num并输出
System.out.println(Boo.num);
//编译器在编译时将长i昂直接俄替换成具体的值,效率更高
//相当于System.out.println(5);
System.out.println(Boo.COUNT);
}
}
class Boo{
public static int num = 5;//静态变量
public static final int COUNT =5;//常量
}
class Aoo{
public static final double PI= 3.14159;
//public static final int NUM;//编译错误,常量必须在声明的同时初始化
}
注解
static final常量:
1) 必须声明并同时初始化
2) 类名来访问,不能被改变
3) 建议:常量名所以字母都大写,多个单词之间用_分隔
4) 编译器在编译时将长i昂直接俄替换成具体的值,效率更高
5) 何时用:数据永远不便,并且还经常使用