static和final沒有直接關係。
final定義的變數可以看作乙個常量,不能改變。final定義的方法不能記繼承和重寫。
static是在記憶體中分配一塊區域,供整個類使用。也就是說,不管這個類有多少個例項,這些例項的static型別的變數都是共用的。
static定義的變數和方法也可以直接通過類來呼叫,不需要通過類的乙個例項來呼叫。
下面以變數為例舉個例子:
public class mytestclass
int i;是屬於類的例項的,可以改變。
static int i;是屬於類的,可以改變。(一旦被賦值,所有類的例項的 i 的值都一樣)
final int i;是屬於類的例項的,不可以改變。(一旦被賦值,在每個類的例項中就不可以改變了,但是各個例項的 i 的值不一定一樣)
static final int i;是屬於類的,不可以改變。(一旦被賦值,在每個類的例項中就不可以改變了,而且各個例項的 i 的值都一樣)
以上舉的變數的例子,方法的話大同小異。
static關鍵字 java關鍵字
先按照宣告順序初始化基類靜態變數和靜態 塊,接著按照宣告順序初始化子類靜態變數和靜態 塊,而後按照宣告順序初始化基類普通變數和普通 塊,然後執行基類建構函式,接著按照宣告順序初始化子類普通變數和普通 塊,最後執行子類建構函式。import static com.test.test1.fu.say i...
static關鍵字和final關鍵字
static記住幾點 1.優先順序高,載入優先物件例項化 2.在記憶體中只分配一次 3.屬於類本身,所有例項共享,一處變,處處變 4.1 static不能訪問沒有static修飾的方法 因為不認識,物件例項後才能在外部使用方法 2 可以訪問static塊 3 未加static的方法可以訪問stati...
final關鍵字 和 static關鍵字
一.final關鍵字的作用 1.使用 final 方法的原因 第乙個原因是把方法鎖定,以防任何繼承類修改它的含義 第二個原因是final修飾的方法效率快。2.final final用於修飾類 成員變數和成員方法。final修飾類,類不能被繼承 final修飾成員方法,方法不能被重寫,但是子類可以用父...