Java編程那些事兒73——JDK文檔使用

來源:互聯網
上載者:User

Java編程那些事兒73——JDK文檔使用

陳躍峰

出自:http://blog.csdn.net/mailbomb

第九章 JDK文檔使用

         前面提到過,一個程式設計語言主要包含三個部分:語言的文法、開發工具和一套基礎的功能。Java語言的文法以及開發工具JDK前面都已經介紹過了,本章就將介紹Java語言提供的這套基礎的功能。

         對於任何一個程式設計語言來說,都將提供一套已經編寫完成的基礎功能,這種和語言一起發布的這套基礎功能一般被稱作API(Application Programming Interface,應用編程介面),在面向過程的語言中也被稱為函數庫(Function
Library),在物件導向的語言中也被稱作類庫(Class
Library)。

         這套功能都會以專門的文檔來進行提供,在J2SE開發中,這套文檔稱之為JDK文檔。例如Windows作業系統的準系統稱為Windows
API,而和VB、VC開發相關的功能組成的文檔稱之為MSDN等。

         這套功能就是在學習程式設計過程中需要學習的基本開發技術。

9.1 JDK文檔概述

         JDK文檔中包含了JDK中開放給程式員的所有通用類結構的說明,該文檔是學習J2SE編程的必備參考資料,該文檔由SUN公司以免費的HTML文檔的形式進行提供,當然也可以下載到其他人製作的CHM格式的文檔。

         JDK文檔沒有隨JDK一起發布,如果需要使用該份文檔,則需要到SUN公司的網站專門進行下載,最新版本的JDK文檔為:

                   http://java.sun.com/javase/downloads/?intcmp=1281

         選擇“Java SE 6 Documentation”項目下載即可。

         在06年初,SUN公司組織專人將JDK5.0的文檔翻譯成了中文,如果英文閱讀比較困難,則可以使用中文文檔,其為:

                   http://gceclub.sun.com.cn/chinese_java_docs.html

         說明:建議閱讀英文文檔,因為這樣既可以鍛煉英文閱讀能力,也可以閱讀到最新的文檔。

         注意:使用的文檔的版本最好和使用的JDK的版本匹配。

         JDK的文檔以網頁檔案壓縮包的形式提供,下載完成以後,只需要解壓縮即可,可以根據需要解壓縮到任意的路徑。

9.2 JDK文檔結構

         開啟JDK文檔所在目錄下api目錄中的index.html即可開啟文檔結構,開啟以後的介面如所示:

                   

JDK
API文檔圖

         在該文檔中,頁面的左上方地區顯示JDK API中所有包名的列表,右下角地區預設顯示所有類結構,如果選擇對應的包名,則只顯示該包中的介面、類、異常和錯誤等資訊。頁面右側地區顯示詳細資料,當選擇對應的類時,則顯示該類的詳細資料。

         例如選擇java.lang包中的String類時,顯示的介面如:

         

String類的文檔結構

         在類的文檔中主要包含以下幾部分內容:類的繼承和被繼承關係,類的聲明、類的功能說明、屬性列表、構造方法列表和方法列表等。類內部結構中的屬性、構造方法和方法每個都包含一個超連結,通過點擊該連結可以查看更詳細的說明。

9.3 類和介面使用文法

         在JDK文檔中,可以很方便的查閱到每個類的作用和類內部的結構,如構造方法、屬性和方法等,在實際的開發過程中,則需要根據項目的要求使用對應類。

         具體該使用哪個類或介面,以及如何使用類或介面,這些是開發技術的要求,本部分只是總結一下和類和介面使用相關的文法知識。

         無論使用類還是介面,首先需要引入該結構,使用的文法格式為:

                   import
包名.類名|*;

         說明:這裡的“|”表示或者的關係。

         注意:java.lang包中的類和介面,系統會自動引入,所以該包中的類和介面無需引用即可使用。

9.3.1 類使用文法

         對於從JDK文檔中查閱出的類,使用的方法一般只有三種:繼承該類、使用該類的對象和調用該類中的靜態屬性或靜態方法。下面一一介紹這三種使用方式相關的文法。

9.3.1.1繼承類的文法

         如果以繼承的方式使用JDK文檔中提供的類,則對應的文法格式如下:

         1、構造方法

首先需要說明的是,構造方法不被繼承。也就是說子類中的構造方法和父類中的構造方法的參數列表沒有關聯。

如果被繼承的類,也就是JDK文檔中提供的類,有預設的構造方法(也就是無參數的構造方法),則子類的構造方法內部會自動調用,不需要編寫特殊的代碼。

如果被繼承的類中沒有預設的構造方法,則必須在子類中書寫構造方法,而且需要在子類的構造方法中的第一行使用super關鍵字調用父類中對應的構造方法,在使用super調用時也必須傳入對應的參數。

如果父類中沒有提供public或protected修飾的構造方法,則該類不能被繼承。

         2、屬性和方法

繼承了一個類以後,該類中的所有屬性和方法都被繼承下來,在子類中可以像使用自己聲明的屬性和方法一樣使用這些結構。

說明:在JDK文檔中只將被覆蓋的方法單獨列舉在文檔中,未被覆蓋的屬性和方法則顯示在屬性和方法列表的下面。

         最後一個和繼承有關的文法是,如果繼承的類是抽象類別,則必須覆蓋父類中的抽象方法,否則聲明的類則必須聲明為抽象類別。

9.3.1.2使用類的對象

         如果通過建立對象對類進行使用,這種方式是最常用的方式,則相關的文法格式如下:

         1、構造方法

                   首先聲明對象,然後使用new關鍵字和構造方法來建立對象。當構造方法比較多時,根據需要調用合適參數列表的構造方法,調用時仔細閱讀參數列表即可。

                   格式為:

                            類名
對象名 = new 構造方法(參數);

         2、屬性和方法

                   當對象建立完成以後,則可以通過該對象調用類提供的屬性和方法了。

                   調用屬性和方法的文法格式為:

                            對象名.屬性  或  對象名.方法(參數)

9.3.1.3調用類的靜態屬性和靜態方法

         調用類中的靜態屬性和靜態方法,文法中提供了簡單的格式:

                            類名.靜態屬性名     和     類名.靜態方法名(參數)

         注意:對於類內部的靜態屬性和靜態方法,不推薦使用對象名.靜態屬性名和對象名.靜態方法名進行調用。

9.3.2 介面使用文法

         對於JDK文檔中提供的介面,其使用方式一般有兩種:聲明該介面的對象、實現該介面和繼承介面。介面的使用比類要簡單一些,下面一一介紹相關的文法格式。

9.3.2.1 聲明介面對象

         對於一部分介面,需要聲明一個介面對象,然後使用JDK中提供的方法或對應的子類構造方法進行建立,但是需要首先聲明介面的對象。

         文法格式為:

                   介面名
對象名;

9.3.2.2 實現介面

         另外一種更常見的使用介面的方式是聲明一個類實現介面,一個類可以實現任意多個介面,使用implements關鍵字實現,如果介面中包含抽象方法,則必須覆蓋抽象方法,否則必須聲明為抽象類別。

9.3.2.3 繼承介面

         也可以聲明一個介面,繼承JDK文檔中已有的介面,介面繼承介面支援多重繼承,使用extends關鍵字繼承即可。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.