java程式設計中的常用關鍵字
阿新 • • 發佈:2019-02-11
java中的常用關鍵字
一. 關鍵字
- static表示”全域性”和”靜態”的意思.可以用來修飾以下
- 成員變數(屬性)
- 成員方法(方法)
- 程式碼塊(單純被{}包含的程式碼塊)
- 修飾內部類
- 用來做靜態匯入: import static Integer.*; 這樣就可以直接呼叫Integer種的所有靜態屬性與方法,而不需要通過類名來呼叫.
注意
被static修飾的成員變數或者成員方法是獨立於物件例項的.被所有例項共享.
可以直接使用類名.屬性名或者類名.方法名直接呼叫.
- final
- final表示最終的,在編譯期恆定不變,在執行時不能改變的值與指向, 可以修飾如下:
- 成員變數, 成員變數被定以後,無法修改
- 成員方法, 此方法不能被重寫.
- 修飾類, 該類不能被繼承
- transient
- 表示一個域不是該物件序列化(序列化)的一部分, 也就是在使用Serialize序列化物件的時候, 會忽略使用
transient修飾的成員變數,只能用來修飾成員變數
- 表示一個域不是該物件序列化(序列化)的一部分, 也就是在使用Serialize序列化物件的時候, 會忽略使用
二. foreach的原理
在傳統for迴圈時,我們如下實現:
int[] arrs = new int[]{1, 2, 3, 4, 5, 6};
for(int index = 0; index < arrs.length, index ++)
{
System.out.println(arrs[index]);
}
在JDK1.5之後,我們可以使用foreach, 我們可以如下實現:
for(int val : arrs)
{
System.out.println(val);
}
對於foreach方式,需要java.lang.Iterable或者陣列.
從foreach的要求來看,foreach的實現是基於Iterable介面實現的.
那麼陣列沒有實現Iterable介面,為什麼可以使用foreach迴圈方式呢?
因為在遍歷陣列的時候, 編譯器會轉換為陣列種的每一個元素的迴圈引用,相當於for語法迴圈遍歷一樣.
總結對於foreach的實現原理如下:
1.對於實現了Iterable介面的資料結構時,通過Iterator中的next()方法和hasNext)方法來來做迴圈遍歷.也就是Java中的”迭代器模式”的設計模式.如:
while(list.hasNext()){
Object obj = list.next();
}
或者:
for(;list.hasNext();){
Object obj = list.next();
}
2.對於陣列,就是轉化為對陣列中的每一個元素的迴圈引用.相當於for迴圈一遍.