1. 程式人生 > >JDK程式碼檢視--Eclipse

JDK程式碼檢視--Eclipse

除了要會查詢文件,還要學會使用檢視程式碼。

首先看一看你是否下載了原始碼,如果沒下載就去網上下載一個版本,在Eclipse中window->Preferences->Java->Installed JREs

選中你的JRE,點選Edit。再次選中rt.jar,點選Source Attachment選擇External Location,在Path中輸入你原始碼的路徑,如我的是G:/JAVA/JDK/lib/src.zip(不必解壓)

這時原始碼已經安裝完畢,直接在你想看的類、介面或者列舉等按下ctrl鍵,點選open Declaration就可以了。

就以LinkedList為例:

 

 以上就是LinkedList的成員域size和頭節點first、尾節點last,還有兩個建構函式,這些就不多說了。

就以一個不認識的descendingIterator()方法來說,先貼上程式碼:

額,只能看出時JDK1.6之後才有這個方法,然後返回一個物件的構造。

接著找DescendingIterator()程式碼

 

這個類實現了Iterator介面,首先申請一個ListItr類的物件,這個物件實現了ListIterator介面,引數是size(),也即是從末尾開始,然後hasNext()方法改為hasPrevious(),next()方法改為previous()

顯然這個方法是作用和ListIterator順序相反的。

例子:

package vector;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.ListIterator;
import java.util.Stack;

public class LinkList {
public static void main(String []args)
{
    /*
     * LinkedList*
                  */
    Stack <String>st=new
Stack<String>(); for(int i=0;i<10;i++) st.add("1"+i); LinkedList<String> ll=new LinkedList<String>(st); // Iterator<String> li=ll.descendingIterator(); 倒序輸出 Iterator<String> li=ll.iterator(); 正序輸出 while(li.hasNext()) { System.out.print(li.next()+" "); } } }