static和final的意义是不同的,
static修饰代表对象是静态的,而final修饰代表对象只能赋值一次。
他们一起用的时候是代表既要是静态的,也要求值不能再被修改。
举例说明:
static int a=1;
static final b=1;
(1)这里a和b的区别在于,a在程序里可以被重新赋值为2或3或等等的整数,而b在程序里不能被重新赋值,b永远都为1,也就是说b是一个常量。
final int c=1;
static final b=1;
(2)这里c和b的区别在于,b存放在静态空间,不会在程序运行时被释放,它永远占着内存直到程序终止,而c在程序用完它而不会再用到它的时候就会被自动释放,不再占用内存。
怎么使用:
当一个常数或字符串我们需要在程序里反复反复使用的时候,我们就可以把它定义为static final,这样内存就不用重复的申请和释放空间。