static和final的意義是不同的,
static修飾的時候代表對象是靜態的,而final修飾的時候代表對象只能賦值一次,
他們連用的時候是因為定義的那個對象既要它是靜態的,也要求它的值不能再被修改。
舉例說明:
static int a=1;
static final b=1;
這里a和b的區別在於,a在程序里可以被重新賦值為2或3或等等的整數,而b在程序里不能被重新賦值,b永遠都為1,也就是說b是一個常量。
final int c=1;
static final b=1;
這里c和b的區別在於,b存放在靜態空間,不會在程序運行時被釋放,它永遠占着內存直到程序終止,而c在程序用完它而不會再用到它的時候就會被自動釋放,不再占用內存。
當一個常數或字符串我們需要在程序里反復反復使用的時候,我們就可以把它定義為static final,這樣內存就不用重復的申請和釋放空間。
