計算機(jī)二級入門教程Java類的基本構(gòu)成_第1頁
計算機(jī)二級入門教程Java類的基本構(gòu)成_第2頁
計算機(jī)二級入門教程Java類的基本構(gòu)成_第3頁
計算機(jī)二級入門教程Java類的基本構(gòu)成_第4頁
計算機(jī)二級入門教程Java類的基本構(gòu)成_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——計算機(jī)二級入門教程Java類的基本構(gòu)成計算機(jī)二級入門教程:Java類的根本構(gòu)成

本文是我探尋整理的計算機(jī)二級入門教程:Java類的根本構(gòu)成,包括了Java類的定義形式、包、import等,供參考復(fù)習(xí)!想了解更多相關(guān)信息請持續(xù)關(guān)注我們我!

1:Java類的定義形式

一個完整的Java類通常由下面六個片面組成:

包定義語句

import語句

類定義成員變量構(gòu)造方法成員方法

其中:只有類定義和“”是不成或缺的,其余片面都可以根據(jù)需要來定義。

下面分別來學(xué)習(xí)各個片面的根本規(guī)矩,看看如何寫Java的類。

2:包

2.1:包是什么

在Java中,包是類、接口或其它包的集合,包主要用來將類組織起來成為組,從而對類舉行管理。

2.2:包能干什么

包對于以下工作分外有用:

1:包允許您將包含類代碼的文件組織起來,易于查找和使用適當(dāng)?shù)念悺?/p>

2:包不止是包含類和接口,還能夠包含其它包。形成層次的包空間。

3:它有助于制止命名沖突。當(dāng)您使用好多類時,確保類和方法名稱的唯一性是分外困難的。包能夠形成層次命名空間,縮小了名稱沖突的范圍,易于管理名稱。

為便于管理數(shù)目眾多的類,Java語言中引入了“包”的概念,可以說是對定義的Java類舉行“分組”,將多個功能相關(guān)的類定義到一個“包”中,以解決命名沖突、引用不便當(dāng)、安好性等問題。

就類似當(dāng)今的戶籍制度,每個公民除有自己的名字“張三”、“李四”外還被規(guī)定了他的戶籍地。假定有兩個人都叫張三,只稱呼名字就無法區(qū)分他們,但假設(shè)事先登記他們的戶籍分別在北京和上海,就可以很輕易的用“北京的張三”、“上海的張三”將他們區(qū)分開來。

假設(shè)北京市仍有多個張三,還可以細(xì)分為“北京市.海淀區(qū)的張三”、“北京市.西城區(qū).平安大街的張三”等等,直到能惟一標(biāo)識每個“張三”為止。

JDK中定義的類就采用了“包”機(jī)制舉行層次式管理,下圖顯示了其組織布局的一片面:

從圖中可以看出,一個名為java的包中又包含了兩個子包:io包和lang包。lang包中包含了System,String,Object三個類的定義。事實上,Java包中既可以包含類的定義,也可以包含子包,或同時包含兩者。

簡而言之:從規(guī)律上講,包是一組相關(guān)類的集合;從物理上講,同包即同目次。

2.1:JDK中常用的包

java.lang包含一些Java語言的核心類,包含構(gòu)成Java語言設(shè)計根基的類。在此包中定義的最重要的一個類是“Object”,代表類層次的根,Java是一個單根系統(tǒng),最終的根就是“Object”,這個類會在后面講到。

Java并不具有“自由”的方法,例如,不屬于任何類的方法,Java中的全體方法務(wù)必始終屬于某個類。經(jīng)常需要使用數(shù)據(jù)類型轉(zhuǎn)換方法。Java在Java.lang包中定義了“包裝對象”類,使我們能夠?qū)崿F(xiàn)數(shù)據(jù)類型轉(zhuǎn)換。如Boolean、Character、Integer、Long、Float和Double,這些在后面會講到。

此包中的其它類包括:

?Math——封裝最常用的數(shù)學(xué)方法,如正弦、余弦和平方根。

?String,StringBuffer——封裝最常用的字符串操作。

你不必顯示導(dǎo)入該包,該Java包通常已經(jīng)導(dǎo)入。

java.awt包含了構(gòu)成抽象窗口工具集abstractwindowtoolkits的多個類,這些類被用來構(gòu)建和管理應(yīng)用程序的圖形用戶界面GUI。

javax.swing完全Java版的圖形用戶界面GUI解決方案,供給了好多完備的組件,可以應(yīng)對繁雜的桌面系統(tǒng)構(gòu)建。

包含執(zhí)行與網(wǎng)絡(luò)相關(guān)的操作的類,如URL,Socket,ServerSocket等。

java.io包含能供給多種輸入/輸出功能的類。

java.util包含一些實用工具類,如定義系統(tǒng)特性、使用與日期日歷相關(guān)的方法。還有重要的集合框架。

2.2:Java中如何表達(dá)包——package語句

Java語言使用package語句來實現(xiàn)包的定義。package語句務(wù)必作為Java源文件的第一條語句,指明該文件中定義的類所在的包。若缺省該語句,那么指定為無名包,其語法格式為:

packagepkg1[.pkg2[.pkg3…]];//“[]”表示可選Java編譯器把包對應(yīng)于文件系統(tǒng)的目錄管理,因此包也可以嵌套使用,即一個包中可以含有類的定義也可以含有子包,其嵌套層數(shù)沒有限制。package語句中,用‘.’來指明包的層次;

Java語言要求包聲明的層次和實際保存類的字節(jié)碼文件的目次布局存在對應(yīng)關(guān)系,以便將來使用該類時能通過包名也就是目次名查找到所需要的類文件。簡樸地說就是包的層次布局需要和文件夾的層次對應(yīng)。

留神:每個源文件只有一個包的聲明,而且包名理應(yīng)全部小寫。

概括來說,程序員要做以下工作:

2.3:編譯和生成包

假設(shè)在程序Test.java中已定義了包p1,就務(wù)必將編譯生成的字節(jié)碼文件Test.class保存在與包名同名的子目次中,可以選用下述兩種方式之一:

采用下述命令編譯:

javacTest.java

那么編譯器會在當(dāng)前目次下生成Test.class文件,再在適合位置手動創(chuàng)造一個名為p1的子目次,將Test.class復(fù)制到該p1目次下。

采用簡化的編譯命令,就是可以帶包編譯

javac-ddestpathTest.java

歸入該包的類的字節(jié)代碼文件應(yīng)放在java的類庫所在路徑的destpath子目次下?,F(xiàn)在包的相對位置已經(jīng)抉擇了,但java類庫的路徑還是不定的。事實上,java可以有多個存放類庫的目次,其中的缺省路徑為java目次下的lib子目次,你可以通過使用-classpath選項來確定你當(dāng)前想選擇的類庫路徑。除此之外,你還可以在CLASSPATH環(huán)境變量中設(shè)置類庫路徑。destpath為目標(biāo)路徑,可以是本地的`任何十足或相對路徑。那么編譯器會自動在destpath目次下建立一個子目次p1,并將生成的.class文件自動保存到destpath/p1下。例如:

javac-d.Test.java

javac-dC:estTest.java

2.4:帶包運行

運行帶包的程序,需要使用類的全路徑,也就是帶包的路徑,譬如上面的那個程序,就使用如下的代碼舉行運行:

javap1.Test

3:import

為了能夠使用某一個包的成員,我們需要在Java程序中明確導(dǎo)入該包。使用“import”語句可完成此功能。在java源文件中import語句應(yīng)位于package語句之后,全體類的定義之前,可以有0~多條,其語法格式為:

importpackage1[.package2…].classname|*;

java運行時環(huán)境將到CLASSPATH+package1.[package2…]路徑下探索并載入相應(yīng)的字節(jié)碼文件classname.class?!?”號為通配符,代表全體的類。也就是說import語句為編譯器指領(lǐng)略探索類的途徑。

例,使用import語句引入類程序:TestPackage.java

java編譯器默認(rèn)為全體的java程序引入了JDK的java.lang包中全體的類importjava.lang.*;,其中定義了一些常用類:System、String、Object、Math等。因此我們可以直接使用這些類而不必顯式引入。但使用其它非無名包中的類那么務(wù)必先引入、后使用。

3.1:Java類搜尋方式

程序中的import語句標(biāo)明要引入p1包中的Test類,假定環(huán)境變量CLASSPATH的值為

“.;C:jdk6lib;D:ex”,java運行環(huán)境將依次到下述可能的位置探索并載入該字節(jié)碼

文件Test.class:

.p1Test.class

C:jdk6libp1Test.class

D:exp1Test.class

其中,“.”代表當(dāng)前路徑,假設(shè)在第一個路徑下就找到了所需的類文件,那么中斷探尋。

否那么依次探尋后續(xù)路徑,假設(shè)在全體的路徑中都未找到所需的類文件,那么編譯或運行出錯。

4:訪問修飾符

Java語言允許對類中定義的各種屬性和方法舉行訪問操縱,即規(guī)定不同的養(yǎng)護(hù)等級來限制對它們的使用。為什么要這樣做?Java語言引入類似訪問操縱機(jī)制的目的在于實現(xiàn)信息的封裝和暗藏。Java語言為對類中的屬性和方法舉行有效地訪問操縱,將它們分為四個等級:private,無修飾符,protected,public,概括規(guī)矩如下:

變量和方法可以處于四個訪問級別中的一個:公共,受養(yǎng)護(hù),無修飾符或私有。類可以在公共或無修飾級別。

變量、方法或類有缺省無修飾符訪問性,假設(shè)它沒有顯式受養(yǎng)護(hù)修飾符作為它的聲明的一片面的話。這種訪問性意味著,訪問可以來自任何方法,當(dāng)然這些方法只能在作為對象的同一個包中的成員類當(dāng)中。

以修飾符protected標(biāo)記的變量或方法實際上比以缺省訪問操縱標(biāo)記的更易訪問。一個protected方法或變量可以從同一個包中的類當(dāng)中的任何方法舉行訪問,也可以是從任何子類中的任何方法舉行訪問。當(dāng)它適合于一個類的子類但不是不相關(guān)的類時,就可以使用這種受養(yǎng)護(hù)訪問來訪問成員。

計算機(jī)二級入門教程:Java類的根本構(gòu)成

5:類定義

Java程序的根本單位是類,你建立類之后,就可用它來建立大量你需要的對象。Java把每一個可執(zhí)行的成分都變成類。

類的定義形式如下:

這里,類名要是合法的標(biāo)識符。在類定義的開頭與終止處務(wù)必使用花括號。你可能想建立一個矩形類,那么可以用如下代碼:

6:構(gòu)造方法

6.1:什么是構(gòu)造方法

類有一個特殊的成員方法叫作構(gòu)造方法,它的作用是創(chuàng)造對象并初始化成員變量。在創(chuàng)造對象時,會自動調(diào)用類的構(gòu)造方法。

6.2:構(gòu)造方法定義規(guī)矩

Java中的構(gòu)造方法務(wù)必與該類具有一致的名字,并且沒有方法的返回類型包括沒有void。另外,構(gòu)造方法一般都應(yīng)用public類型來說明,這樣才能在程序任意的位置創(chuàng)造類的實例--對象。

6.3:示例

下面是一個Rectangle類的構(gòu)造方法,它帶有兩個參數(shù),分別表示矩形的長和寬:

6.4:說明

每個類至少有一個構(gòu)造方法。假設(shè)不寫一個構(gòu)造方法,Java編程語言將供給一個默認(rèn)的,該構(gòu)造方法沒有參數(shù),而且方法體為空。

留神:假設(shè)一個類中已經(jīng)定義了構(gòu)造方法那么系統(tǒng)不再供給默認(rèn)的構(gòu)造方

7:析構(gòu)方法

析構(gòu)方法finalize的功能是:當(dāng)對象被從內(nèi)存中刪除時,該成員方法將會被自動調(diào)用。通常,在析構(gòu)方法內(nèi),你可以填寫用來回收對象內(nèi)部的動態(tài)空間的代碼。

更加留神:當(dāng)我們?nèi)フ{(diào)用析構(gòu)方法的時候,并不會引起該對象實例從內(nèi)存中刪除,而是不會起到任何作用。

在Java編程里面,一般不需要我們?nèi)懳鰳?gòu)方法,這里只是了解一下就可以了。

8:屬性

8.1:屬性是什么

簡樸點說,屬性就是對象所具有的靜態(tài)屬性。

8.2:定義規(guī)矩

Java類中屬性的聲明采用如下格式:

訪問修飾符修飾符類型屬性名稱=初始值;

訪問修飾符:可以使用四種不同的訪問修飾符中的一種,包括public公共的、protected受養(yǎng)護(hù)的,無修飾符和private私有的。public訪問修飾符表示屬性可以從任何其它代碼調(diào)用。private表示屬性只可以由該類中的其它方法來調(diào)用。protected將在以后的課程中議論。

修飾符:是對屬性特性的描述,例如后面會學(xué)習(xí)到的:static、final等等。

類型:屬性的數(shù)據(jù)類型,可以是任意的類型。

屬性名稱:任何合法標(biāo)識符

初始值:賦值給屬性的初始值。假設(shè)不設(shè)置,那么會自動舉行初始化,根本類型使用缺省值,對象類型自動初始化為null。

8.3:說明

屬性有時候也被稱為成員變量、實例變量、域,它們經(jīng)常被互換使用。

9:方法

9.1:方法是什么

方法就是對象所具有的動態(tài)功能。

9.2:定義規(guī)矩

Java類中方法的聲明采用以下格式:訪問修飾符修飾符返回值類型方法名稱參數(shù)列表throws奇怪列表方法體

訪問修飾符:可以使用四種不同的訪問修飾符中的一種,包括public公共的、protected受養(yǎng)護(hù)的,無修飾符和private私有的。public訪問修飾符表示方法可以從任何其它代碼調(diào)用。private表示方法只可以由該類中的其它方法來調(diào)用。protected將在以后的課程中議論。

修飾符:是對方法特性的描述,例如后面會學(xué)習(xí)到的:static、final、abstract、synchronized等等。

返回值類型::表示方法返回值的類型。假設(shè)方法不返回任何值,它務(wù)必聲明為void空。

Java技術(shù)對返回值是很嚴(yán)格的,例如,假設(shè)聲明某方法返回一個int值,那么方法務(wù)必從全體可能的返回路徑中返回一個int值只能在等待返回該int值的上下文中被調(diào)用。

方法名稱:可以是任何合法標(biāo)識符,并帶有用已經(jīng)使用的名稱為根基的某些限制條件。

參數(shù)列表:允許將參數(shù)值傳遞到方法中。列舉的元素由逗號分開,而每一個元素包含一個類型和一個標(biāo)識符。在下面的方法中只有一個形式參數(shù),用int類型和標(biāo)識符days來聲明:publicvoidtestintdays

throws奇怪列表:子句導(dǎo)致一個運行時錯誤奇怪被報告到調(diào)用的方法中,以便以適合的方式處理它。奇怪在后面的課程中介紹。

花括號內(nèi)是方法體,即方法的概括語句序列。

9.3:例如

譬如現(xiàn)在有一個“車”的類——Car,“車”具有一些根本的屬性,譬如四個輪子,一個方向盤,車的品牌等等。當(dāng)然,車也具有自己的功能,也就是方法,譬如車能夠“開動”——run。要想車子能夠開動,需要給車子添加汽油,也就是說,需要為run方法傳遞一些參數(shù)“油”進(jìn)去。車子跑起來過后,我們需要知道當(dāng)前車輛運行的速度,就需要run方法具有返回值“當(dāng)前的速度”。

9.4:形參和實參

形參:就是形式參數(shù)的意思。是在定義方法名的時候使用的參數(shù),用來標(biāo)識方法接收的參數(shù)類型,在調(diào)用該方法時傳入。

實參:就是實際參數(shù)的意思。是在調(diào)用方法時傳遞給該方法的實際參數(shù)。

譬如:上面的例子中“intoil”就是個形式參數(shù),這里只是表示需要參與汽油,這個方法才能正常運行,但概括參與多少,要到真正使用的時候,也就是調(diào)用這個方法的時候才概括確定,參與調(diào)用的時候傳入“80”

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論