1. 程式人生 > >java程式設計中的常用關鍵字

java程式設計中的常用關鍵字

java中的常用關鍵字

一. 關鍵字

  1. static表示”全域性”和”靜態”的意思.可以用來修飾以下
    1. 成員變數(屬性)
    2. 成員方法(方法)
    3. 程式碼塊(單純被{}包含的程式碼塊)
    4. 修飾內部類
    5. 用來做靜態匯入: import static Integer.*; 這樣就可以直接呼叫Integer種的所有靜態屬性與方法,而不需要通過類名來呼叫.
      注意
      被static修飾的成員變數或者成員方法是獨立於物件例項的.被所有例項共享.
      可以直接使用類名.屬性名或者類名.方法名直接呼叫.
  2. final
    1. final表示最終的,在編譯期恆定不變,在執行時不能改變的值與指向, 可以修飾如下:
    2. 成員變數, 成員變數被定以後,無法修改
    3. 成員方法, 此方法不能被重寫.
    4. 修飾類, 該類不能被繼承
  3. transient
    1. 表示一個域不是該物件序列化(序列化)的一部分, 也就是在使用Serialize序列化物件的時候, 會忽略使用
      transient修飾的成員變數,只能用來修飾成員變數

二. 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迴圈一遍.