用法:程序运行后不再改变的量定义为常量 用final修饰,名字要全部大写(不全部大写也不会报错,只是规范问题)。
相对应得程序运行中需要改变的量就定义成静态变量,需要注意的是如果是多处引用了此静态变量,那么一旦改变各处的引用都会改变。可能会引起问题,需要注意。
稍微深层次理解:常量是存在于方法区的常量区,类没加载的时候也可以使用。看下面代码
//定义常量和静态变量的类
public class TestStaticAndFinal {
static {
System.out.println("类加载。。。");
}
public static String static_value = "静态变量";
public static final String FINAL_VALUE = "常量";
}
//测试类
public class TestOne {
public static void main(String[] args) {
System.out.println(TestStaticAndFinal.FINAL_VALUE);
System.out.println(TestStaticAndFinal.static_value);
}
}
//输出结果
常量
类加载。。。
静态变量
//接下来改变main方法中的输出顺序
public class TestOne {
public static void main(String[] args) {
System.out.println(TestStaticAndFinal.static_value);
System.out.println(TestStaticAndFinal.FINAL_VALUE);
}
}
//输出值
类加载。。。
静态变量
常量
//静态变量使用前会加载类,常量使用就不需要
暂时我就理解到这个程度,如果基础不是太好的人就先记住用法吧。
最后欢迎探讨!