




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第一章:教案名稱:教案大?。航贪割愋停篧ORD文檔星級(jí)評(píng)定:教案簡介:java語言的產(chǎn)生起源于Sun Microsystems公司為消費(fèi)電子產(chǎn)品上應(yīng)用程序的開發(fā)尋找一門編程語言的過程中,而隨著互聯(lián)網(wǎng)時(shí)代的到來,原有的Oak軟件就順理成章的改造成java語言推向了市場,其跨平臺(tái)、面相對(duì)象、安全等特點(diǎn)使其得到廣泛的應(yīng)用。通過在不同的軟硬件上實(shí)現(xiàn)的java虛擬機(jī),java的字節(jié)碼文件就可以跨平臺(tái)的進(jìn)行運(yùn)行,無用內(nèi)存自動(dòng)回收器也給程序員帶來了極大的方便。java程序以兩種方式進(jìn)行運(yùn)行,一種是通過java虛擬機(jī)進(jìn)行直接運(yùn)行的java application,另一種是通過瀏覽器進(jìn)行運(yùn)行的java appl
2、et,但是無論是何種方式,java都是一門純粹的面向?qū)ο蟮木幊陶Z言。面向?qū)ο缶幊痰乃悸氛J(rèn)為程序都是對(duì)象的組合,因此要克服面向過程編程的思路,直接按照對(duì)象和類的思想去組織程序,面向?qū)ο笏哂械姆庋b性、繼承性、多態(tài)性等特點(diǎn)使其具有強(qiáng)大的生命力。Sun公司為全世界java開發(fā)人員提供了一套免費(fèi)的軟件開發(fā)包Java2 SDK,也稱為JDK,它不僅是java的開發(fā)平臺(tái),還是java的運(yùn)行平臺(tái)。java源程序存放在.java文件中,可以通過任意一個(gè)文本編輯器編輯產(chǎn)生,源程序經(jīng)過"javac"命令編譯過后,就生成了相應(yīng)的.class文件,而用"java"命令就可以運(yùn)行
3、.class文件。作為面向?qū)ο缶幊倘藛T來說,大體可以分為兩種:類創(chuàng)建者和應(yīng)用程序員,應(yīng)用程序員是類的使用者。所以對(duì)程序的可讀性和API幫助文檔就有要求,java語言本身有一套約定成俗的編程規(guī)范,同時(shí)程序員首先要學(xué)會(huì)閱讀系統(tǒng)API幫助文檔,還要學(xué)會(huì)生成自己編寫的程序的API幫助文檔。下載一【課前思考】1. 一門新的語言的產(chǎn)生是否需要借鑒以前的編程語言?2. 在java語言出現(xiàn)之前是否存在其它跨平臺(tái)的語言?3. 有哪些編程語言是面向?qū)ο蟮模慷男┚幊陶Z言是面向過程的?從編程思路上存在著哪些本質(zhì)差別?C語言是面向?qū)ο蟮倪€是面向過程的?4. 一段優(yōu)秀的程序代碼是否應(yīng)該是可讀性極強(qiáng)的?程序員之間是否應(yīng)該
4、遵循相同的編程規(guī)范?5. 一個(gè)程序員編好的代碼如果需要讓別的程序員使用,如何提供該代碼的使用說明?【學(xué)習(xí)目標(biāo)】了解java語言產(chǎn)生的歷史和工作原理,掌握java語言作為一門面向?qū)ο缶幊陶Z言的基本編程思路,初步接觸java程序的兩種方式:java application和java applet,掌握java程序的結(jié)構(gòu)、編程規(guī)范,學(xué)習(xí)閱讀java幫助文檔,并安裝java開發(fā)環(huán)境和幫助文檔,最后要學(xué)會(huì)編寫小的java程序并生成相應(yīng)的幫助文檔?!緦W(xué)習(xí)指南】跳過面向過程的編程思路,直接進(jìn)入到面向?qū)ο蟮木幊谭绞??!倦y 重 點(diǎn)】 java虛擬機(jī)無用內(nèi)存自動(dòng)回收器java語言的特點(diǎn)面向?qū)ο蟮木幊趟悸穓ava編
5、程規(guī)范java類庫幫助文檔的瀏覽和生成【知 識(shí) 點(diǎn)】1.1 java語言的發(fā)展史1.1.1 java語言在互聯(lián)網(wǎng)時(shí)代獲得巨大成功1.1.2 java語言的產(chǎn)生1.2 java的工作原理1.2.1 java虛擬機(jī)1.2.2 無用內(nèi)存自動(dòng)回收機(jī)制1.2.3 代碼安全性檢查機(jī)制1.2.4 java語言的特點(diǎn)1.2.5 java平臺(tái)不斷擴(kuò)展的計(jì)算平臺(tái)1.3 一切都是對(duì)象1.3.1 面向過程1.3.2 面向?qū)ο?.4 構(gòu)建java程序1.4.1 第一個(gè)java application1.4.2 java程序的編輯1.4.3 java程序的編譯1.4.4 java application的執(zhí)行1.4.5
6、第一個(gè)java applet1.4.6 java applet的執(zhí)行1.5 java程序規(guī)范1.5.1 java源程序結(jié)構(gòu)1.5.2 java編程規(guī)范1.5.3 java幫助文檔1.5.4 java注釋1.6 建立java開發(fā)環(huán)境1.6.1 安裝java開發(fā)包JDK1.6.2 安裝java幫助文檔1.6.3 配置類路徑1.1 java語言的發(fā)展史1.1.java語言在互聯(lián)網(wǎng)時(shí)代獲得巨大成功大家想一想,在PC下用windows編寫的程序能夠不做修改就直接拿到UNIX系統(tǒng)上運(yùn)行嗎?顯然是不可以的,因?yàn)槌绦虻膱?zhí)行最終必須轉(zhuǎn)換成為計(jì)算機(jī)硬件的機(jī)器指令來執(zhí)行,專門為某種計(jì)算機(jī)硬件和操作系統(tǒng)編寫的程序是不
7、能夠直接放到另外的計(jì)算機(jī)硬件上執(zhí)行的,至少要做移植工作。要想讓程序能夠在不同的計(jì)算機(jī)上能夠運(yùn)行,就要求程序設(shè)計(jì)語言是能夠跨越各種軟件和硬件平臺(tái)的,而java滿足了這一需求。1995年,美國Sun Microsystems公司正式向IT業(yè)界推出了java語言,該語言具有安全、跨平臺(tái)、面向?qū)ο?、簡單、適用于網(wǎng)絡(luò)等顯著特點(diǎn),當(dāng)時(shí)以web為主要形式的互聯(lián)網(wǎng)正在迅猛發(fā)展,java語言的出現(xiàn)迅速引起所有程序員和軟件公司的極大關(guān)注,程序員們紛紛嘗試用java語言編寫網(wǎng)絡(luò)應(yīng)用程序,并利用網(wǎng)絡(luò)把程序發(fā)布到世界各地進(jìn)行運(yùn)行。包括IBM、Oracle、微軟、Netscape、Apple、SGI等大公司紛紛與Sun
8、Microsystems公司簽訂合同,授權(quán)使用java平臺(tái)技術(shù)。微軟公司總裁比爾蓋茨先生在經(jīng)過研究后認(rèn)為"java語言是長時(shí)間以來最卓越的程序設(shè)計(jì)語言"。目前,java語言已經(jīng)成為最流行的網(wǎng)絡(luò)編程語言,截止到2001年中,全世界大約有310萬java程序員,許多大學(xué)紛紛開設(shè)java課程,java正逐步成為世界上程序員最多的編程語言。在經(jīng)歷了以大型機(jī)為代表的集中計(jì)算模式和以PC機(jī)為代表的分散計(jì)算模式之后,互聯(lián)網(wǎng)的出現(xiàn)使得計(jì)算模式進(jìn)入了網(wǎng)絡(luò)計(jì)算時(shí)代。網(wǎng)絡(luò)計(jì)算模式的一個(gè)特點(diǎn)是計(jì)算機(jī)是異構(gòu)的,即計(jì)算機(jī)的類型和操作系統(tǒng)是不一樣的,例如SUN工作站的硬件是SPARC體系,軟件是UNIX
9、中的Solaris操作系統(tǒng),而PC機(jī)的硬件是INTEL體系,操作系統(tǒng)是windows或者是Linux,因此相應(yīng)的編程語言基本上只是適用于單機(jī)系統(tǒng),例如COBOL、FORTRAN、C、C等等;網(wǎng)絡(luò)計(jì)算模式的另一個(gè)特點(diǎn)是代碼可以通過網(wǎng)絡(luò)在各種計(jì)算機(jī)上進(jìn)行遷移,這就迫切需要一種跨平臺(tái)的編程語言,使得用它編寫的程序能夠在網(wǎng)絡(luò)中的各種計(jì)算機(jī)上能夠正常運(yùn)行,java就是在這種需求下應(yīng)運(yùn)而生的。正是因?yàn)閖ava語言符合了互聯(lián)網(wǎng)時(shí)代的發(fā)展要求,才使它獲得了巨大的成功。1.1.2 java語言的產(chǎn)生俗話說:"有心栽花花不成,無心插柳柳成蔭"。Sun公司絕沒想到本想用于消費(fèi)電子產(chǎn)品開發(fā)的編程語
10、言卻率先在網(wǎng)絡(luò)中得到了廣泛應(yīng)用,但是也可以說是"東方不亮西方亮",正是因?yàn)閖ava語言在設(shè)計(jì)目標(biāo)上的正確性使得java語言"是金字總會(huì)發(fā)光的"。C語言是面向過程的語言,也是使用率非常高的語言;而面向?qū)ο蟮乃枷胍氲骄幊陶Z言之后,C語言就被改造成為面向?qū)ο蟮腃語言,得到了廣泛的應(yīng)用。但是C語言必須兼容C語言,因此C語言是面向過程和面向?qū)ο蠡旌系恼Z言。java語言產(chǎn)生于C語言之后,是完全的面向?qū)ο蟮木幊陶Z言,充分吸取了C語言的優(yōu)點(diǎn),采用了程序員所熟悉的C和C語言的許多語法,同時(shí)又去掉了C語言中指針、內(nèi)存申請(qǐng)和釋放等影響程序健壯性的部分,可以說java語言是站
11、在C語言這個(gè)"巨人的肩膀上"前進(jìn)的。java語言的一個(gè)目標(biāo)是跨平臺(tái),因此采用了解釋執(zhí)行而不是編譯執(zhí)行的運(yùn)行環(huán)境,在執(zhí)行過程中根據(jù)所在的不同的硬件平臺(tái)把程序解釋為當(dāng)前的機(jī)器碼,實(shí)現(xiàn)跨平臺(tái)運(yùn)行。而動(dòng)態(tài)下載程序代碼的機(jī)制完全是為了適應(yīng)網(wǎng)絡(luò)計(jì)算的特點(diǎn),程序可以根據(jù)需要把代碼實(shí)時(shí)的從服務(wù)器中下載過來執(zhí)行,在此之前還沒有任何一種語言能夠支持這一點(diǎn)。java是印尼的一個(gè)小島,盛產(chǎn)咖啡,而程序員往往喜歡喝咖啡,因此取名為java語言??磥?,目前java這杯咖啡已經(jīng)飄香在世界各地。任何事物的產(chǎn)生既有必然的原因也有偶然的因素,java語言的出現(xiàn)也驗(yàn)證了這一點(diǎn)。1991年,美國Sun Micro
12、systems公司的某個(gè)研究小組為了能夠在消費(fèi)電子產(chǎn)品上開發(fā)應(yīng)用程序,積極尋找合適的編程語言。消費(fèi)電子產(chǎn)品種類繁多,包括PDA、機(jī)頂盒、手機(jī)等等,即使是同一類消費(fèi)電子產(chǎn)品所采用的處理芯片和操作系統(tǒng)也不相同,也存在著跨平臺(tái)的問題。當(dāng)時(shí)最流行的編程語言是C和C語言,Sun公司的研究人員就考慮是否可以采用C語言來編寫消費(fèi)電子產(chǎn)品的應(yīng)用程序,但是研究表明,對(duì)于消費(fèi)電子產(chǎn)品而言C語言過于復(fù)雜和龐大,并不適用,安全性也并不令人滿意。于是,Bill Joy先生領(lǐng)導(dǎo)的研究小組就著手設(shè)計(jì)和開發(fā)出一種語言,稱之為Oak。該語言采用了許多C語言的語法,提高了安全性,并且是面向?qū)ο蟮恼Z言,但是Oak語言在商業(yè)上并未獲
13、得成功。時(shí)間轉(zhuǎn)到了1995年,互聯(lián)網(wǎng)在世界上蓬勃發(fā)展,Sun公司發(fā)現(xiàn)Oak語言所具有的跨平臺(tái)、面向?qū)ο?、安全性高等特點(diǎn)非常符合互聯(lián)網(wǎng)的需要,于是改進(jìn)了該語言的設(shè)計(jì),要達(dá)到如下幾個(gè)目標(biāo): 創(chuàng)建一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,而不是面向過程的語言; 提供一個(gè)解釋執(zhí)行的程序運(yùn)行環(huán)境,是程序代碼獨(dú)立于平臺(tái); 吸收C和C的優(yōu)點(diǎn),使程序員容易掌握; 去掉C和C中影響程序健壯性的部分,使程序更安全,例如指針、內(nèi)存申請(qǐng)和釋放; 實(shí)現(xiàn)多線程,使得程序能夠同時(shí)執(zhí)行多個(gè)任務(wù); 提供動(dòng)態(tài)下載程序代碼的機(jī)制; 提供代碼校驗(yàn)機(jī)制以保證安全性;最終,Sun公司給該語言取名為java語言,造就了一代成功的編程語言。1.2 jav
14、a的工作原理1.2.1 java虛擬機(jī)java虛擬機(jī)是軟件模擬的計(jì)算機(jī),可以在任何處理器上(無論是在計(jì)算機(jī)中還是在其它電子設(shè)備中)安全并且兼容的執(zhí)行保存在.class文件中的字節(jié)碼。java虛擬機(jī)的"機(jī)器碼"保存在.class文件中,有時(shí)也可以稱之為字節(jié)碼文件。java程序的跨平臺(tái)主要是指字節(jié)碼文件可以在任何具有java虛擬機(jī)的計(jì)算機(jī)或者電子設(shè)備上運(yùn)行,java虛擬機(jī)中的java解釋器負(fù)責(zé)將字節(jié)碼文件解釋成為特定的機(jī)器碼進(jìn)行運(yùn)行。java源程序需要通過編譯器編譯成為.class文件(字節(jié)碼文件),java程序的編譯和執(zhí)行過程如動(dòng)畫所示。但是,java虛擬機(jī)的建立需要針對(duì)不同
15、的軟硬件平臺(tái)做專門的實(shí)現(xiàn),既要考慮處理器的型號(hào),也要考慮操作系統(tǒng)的種類。如下圖所示,目前在SPARC結(jié)構(gòu)、X86結(jié)構(gòu)、MIPS和PPC等嵌入式處理芯片上、在UNIX、Linux、windows和部分實(shí)時(shí)操作系統(tǒng)上都有java虛擬機(jī)的實(shí)現(xiàn)。1.2.2 無用內(nèi)存自動(dòng)回收機(jī)制在程序的執(zhí)行過程中,部分內(nèi)存在使用過后就處于廢棄狀態(tài),如果不及時(shí)進(jìn)行無用內(nèi)存的回收,就會(huì)導(dǎo)致內(nèi)存泄漏,進(jìn)而導(dǎo)致系統(tǒng)崩潰。在C語言中是由程序員進(jìn)行內(nèi)存回收的,程序員需要在編寫程序的時(shí)候把不再使用的對(duì)象內(nèi)存釋放掉;但是這種人為的管理內(nèi)存釋放的方法卻往往由于程序員的疏忽而致使內(nèi)存無法回收,同時(shí)也增加了程序員的工作量。而在java運(yùn)行環(huán)
16、境中,始終存在著一個(gè)系統(tǒng)級(jí)的線程,專門跟蹤內(nèi)存的使用情況,定期檢測(cè)出不再使用的內(nèi)存,并進(jìn)行自動(dòng)回收,避免了內(nèi)存的泄露,也減輕了程序員的工作量。1.2.3 代碼安全性檢查機(jī)制安全和方便總是相對(duì)矛盾的。java編程語言的出現(xiàn)使得客戶端機(jī)器可以方便的從網(wǎng)絡(luò)上下載java程序到本機(jī)上運(yùn)行,但是如何保證該java程序不攜帶病毒或者不懷有其它險(xiǎn)惡目的呢?如果java語言不能保證執(zhí)行的安全性,那么它就不可能存活到今天。雖然有時(shí)候少數(shù)程序員會(huì)抱怨說applet連文件系統(tǒng)也不能訪問,但是正是各種安全措施的實(shí)行才確保了java語言的生存。字節(jié)碼的執(zhí)行需要經(jīng)過三個(gè)步驟,首先由類裝載器(class loader)負(fù)責(zé)
17、把類文件(.class文件)加載到j(luò)ava虛擬機(jī)中,在此過程需要檢驗(yàn)該類文件是否符合類文件規(guī)范;其次字節(jié)碼校驗(yàn)器(bytecode verifier)檢查該類文件的代碼中是否存在著某些非法操作,例如applet程序中寫本機(jī)文件系統(tǒng)的操作;如果字節(jié)碼校驗(yàn)器檢驗(yàn)通過,由java解釋器負(fù)責(zé)把該類文件解釋成為機(jī)器碼進(jìn)行執(zhí)行。java虛擬機(jī)采用的是"沙箱"運(yùn)行模式,即把java程序的代碼和數(shù)據(jù)都限制在一定內(nèi)存空間里執(zhí)行,不允許程序訪問該內(nèi)存空間外的內(nèi)存,如果是applet程序,還不允許訪問客戶端機(jī)器的文件系統(tǒng)。1.2.4 Java語言的特點(diǎn)1 簡單、面向?qū)ο蠛蜑槿怂煜ava的簡單
18、首先體現(xiàn)在精簡的系統(tǒng)上,力圖用最小的系統(tǒng)實(shí)現(xiàn)足夠多的功能;對(duì)硬件的要求不高,在小型的計(jì)算機(jī)上便可以良好的運(yùn)行。和所有的新一代的程序設(shè)計(jì)語言一樣,java也采用了面向?qū)ο蠹夹g(shù)并更加徹底,所有的java程序和applet程序均是對(duì)象,封裝性實(shí)現(xiàn)了模塊化和信息隱藏,繼承性實(shí)現(xiàn)了代碼的復(fù)用,用戶可以建立自己的類庫。而且java采用的是相對(duì)簡單的面向?qū)ο蠹夹g(shù),去掉了運(yùn)算符重載、多繼承的復(fù)雜概念,而采用了單一繼承、類強(qiáng)制轉(zhuǎn)換、多線程、引用(非指針)等方式。無用內(nèi)存自動(dòng)回收機(jī)制也使得程序員不必費(fèi)心管理內(nèi)存,是程序設(shè)計(jì)更加簡單,同時(shí)大大減少了出錯(cuò)的可能。java語言采用了C語言中的大部分語法,熟悉C語言的程序
19、員會(huì)發(fā)現(xiàn)java語言在語法上與C語言極其相似。2 魯棒并且安全java語言在編譯及運(yùn)行程序時(shí),都要進(jìn)行嚴(yán)格的檢查。作為一種強(qiáng)制類型語言,java在編譯和連接時(shí)都進(jìn)行大量的類型檢查,防止不匹配問題的發(fā)生。如果引用一個(gè)非法類型、或執(zhí)行一個(gè)非法類型操作,java將在解釋時(shí)指出該錯(cuò)誤。在java程序中不能采用地址計(jì)算的方法通過指針訪問內(nèi)存單元,大大減少了錯(cuò)誤發(fā)生的可能性;而且java的數(shù)組并非用指針實(shí)現(xiàn),這樣就可以在檢查中避免數(shù)組越界的發(fā)生。無用內(nèi)存自動(dòng)回收機(jī)制也增加了java的魯棒性。作為網(wǎng)絡(luò)語言,java必須提供足夠的安全保障,并且要防止病毒的侵襲。java在運(yùn)行應(yīng)用程序時(shí),嚴(yán)格檢查其訪問數(shù)據(jù)的權(quán)
20、限,比如不允許網(wǎng)絡(luò)上的應(yīng)用程序修改本地的數(shù)據(jù)。下載到用戶計(jì)算機(jī)中的字節(jié)代碼在其被執(zhí)行前要經(jīng)過一個(gè)核實(shí)工具,一旦字節(jié)代碼被核實(shí),便由java解釋器來執(zhí)行,該解釋器通過阻止對(duì)內(nèi)存的直接訪問來進(jìn)一步提高java的安全性。同時(shí)java極高的魯棒性也增強(qiáng)了java的安全性。3 結(jié)構(gòu)中立并且可以移植網(wǎng)絡(luò)上充滿了各種不同類型的機(jī)器和操作系統(tǒng),為使java程序能在網(wǎng)絡(luò)的任何地方運(yùn)行,java編譯器編譯生成了與體系結(jié)構(gòu)無關(guān)的字節(jié)碼結(jié)構(gòu)文件格式。任何種類的計(jì)算機(jī),只有在其處理器和操作系統(tǒng)上有java運(yùn)行時(shí)環(huán)境,字節(jié)碼文件就可以在該計(jì)算機(jī)上運(yùn)行。即使是在單一系統(tǒng)的計(jì)算機(jī)上,結(jié)構(gòu)中立也有非常大的作用。隨著處理器結(jié)構(gòu)的
21、不斷發(fā)展變化,程序員不得不編寫各種版本的程序以在不同的處理器上運(yùn)行,這使得開發(fā)出能夠在所有平臺(tái)上工作的軟件集合是不可能的。而使用java將使同一版本的應(yīng)用程序可以運(yùn)行在所有的平臺(tái)上。體系結(jié)構(gòu)的中立也使得java系統(tǒng)具有可移植性。java運(yùn)行時(shí)系統(tǒng)可以移植到不同的處理器和操作系統(tǒng)上,java的編譯器是由java語言實(shí)現(xiàn)的,解釋器是由java語言和標(biāo)準(zhǔn)C語言實(shí)現(xiàn)的,因此可以較為方便的進(jìn)行移植工作。4 高性能雖然java是解釋執(zhí)行的,但它仍然具有非常高的性能,在一些特定的CPU上,java字節(jié)碼可以快速的轉(zhuǎn)換成為機(jī)器碼進(jìn)行執(zhí)行。而且java字節(jié)碼格式的設(shè)計(jì)就是針對(duì)機(jī)器碼的轉(zhuǎn)換,實(shí)際轉(zhuǎn)換時(shí)相當(dāng)簡便,自
22、動(dòng)的寄存器分配與編譯器對(duì)字節(jié)碼的一些優(yōu)化可使之生成高質(zhì)量的代碼。隨著java虛擬機(jī)的改進(jìn)和"即時(shí)編譯"(just in time)技術(shù)的出現(xiàn)使得java的執(zhí)行速度有了更大的提高。5 解釋執(zhí)行、多線程并且是動(dòng)態(tài)的為易于實(shí)現(xiàn)跨平臺(tái)性,java設(shè)計(jì)成為解釋執(zhí)行,字節(jié)碼本身包含了許多編譯時(shí)生成的信息,使連接過程更加簡單。而多線程使應(yīng)用程序可以同時(shí)進(jìn)行不同的操作,處理不同的事件。在多線程機(jī)制中,不同的線程處理不同的任務(wù),互不干涉,不會(huì)由于某一任務(wù)處于等待狀態(tài)而影響了其它任務(wù)的執(zhí)行,這樣就可以容易的實(shí)現(xiàn)網(wǎng)絡(luò)上的實(shí)時(shí)交互操作。java在執(zhí)行過程中,可以動(dòng)態(tài)的加載各種類庫,這一特點(diǎn)使之非常
23、適合于網(wǎng)絡(luò)運(yùn)行,同時(shí)也非常有利于軟件的開發(fā),即使是更新類庫也不必重新編譯使用這一類庫的應(yīng)用程序。如果你了解C語言和C+語言,可以參考下列java與C/C+語言的比較,如果不了解C語言和C+語言,可以忽略本部分知識(shí)。a 全局變量java程序不能定義程序的全局變量,而類中的公共、靜態(tài)變量就相當(dāng)于這個(gè)類的全局變量。這樣就使全局變量封裝在類中,保證了安全性,而在C/C+語言中,由于不加封裝的全局變量往往會(huì)由于使用不當(dāng)而造成系統(tǒng)的崩潰。b 條件轉(zhuǎn)移指令C/C+語言中用goto語句實(shí)現(xiàn)無條件跳轉(zhuǎn),而java語言沒有g(shù)oto語言,通過例外處理語句try、catch、finally來取代之,提高了程序的可讀性
24、,也增強(qiáng)了程序的魯棒性。c 指針指針是C/C+語言中最靈活,但也是最容易出錯(cuò)的數(shù)據(jù)類型。用指針進(jìn)行內(nèi)存操作往往造成不可預(yù)知的錯(cuò)誤,而且,通過指針對(duì)內(nèi)存地址進(jìn)行顯示類型轉(zhuǎn)換后,可以類的私有成員,破壞了安全性。在java中,程序員不能進(jìn)行任何指針操作,同時(shí)java中的數(shù)組是通過類來實(shí)現(xiàn)的,很好的解決了數(shù)組越界這一C/C+語言中不做檢查的缺點(diǎn)。d 內(nèi)存管理在C語言中,程序員使用庫函數(shù)malloc()和free()來分配和釋放內(nèi)存,C+語言中則是運(yùn)算符new和delete。再次釋放已經(jīng)釋放的內(nèi)存塊或者釋放未被分配的內(nèi)存塊,會(huì)造成系統(tǒng)的崩潰,而忘記釋放不再使用的內(nèi)存塊也會(huì)逐漸耗盡系統(tǒng)資源。在java中,
25、所有的數(shù)據(jù)結(jié)構(gòu)都是對(duì)象,通過運(yùn)算符new分配內(nèi)存并得到對(duì)象的使用權(quán)。無用內(nèi)存回收機(jī)制保證了系統(tǒng)資源的完整,避免了內(nèi)存管理不周而引起的系統(tǒng)崩潰。e 數(shù)據(jù)類型的一致性在C/C+語言中,不同的平臺(tái)上,編譯器對(duì)簡單的數(shù)據(jù)類型如int、float等分別分配不同的字節(jié)數(shù)。例如:int在IBM PC上為16位,在VAX-11上就為32位,導(dǎo)致了代碼數(shù)據(jù)的不可移植。在java中,對(duì)數(shù)據(jù)類型的位數(shù)分配總是固定的,而不管是在任何的計(jì)算機(jī)平臺(tái)上。因此就保證了java數(shù)據(jù)的平臺(tái)無關(guān)性和可移植性。f 類型轉(zhuǎn)換在C/C+語言中,可以通過指針進(jìn)行任意的類型轉(zhuǎn)換,不安全因素大大增加。而在java語言中系統(tǒng)要對(duì)對(duì)象的處理進(jìn)行嚴(yán)
26、格的相容性檢查,防止不安全的轉(zhuǎn)換。g 頭文件在C/C+語言中使用頭文件聲明類的原型和全局變量及庫函數(shù)等,在大的系統(tǒng)中,維護(hù)這些頭文件是非常困難的。java不支持頭文件,類成員的類型和訪問權(quán)限都封裝在一個(gè)類中,運(yùn)行時(shí)系統(tǒng)對(duì)訪問進(jìn)行控制,防止非法的訪問。同時(shí),java中用import語句與其它類進(jìn)行通信,以便訪問其它類的對(duì)象。h 結(jié)構(gòu)和聯(lián)合C/C+語言中用結(jié)構(gòu)和聯(lián)合來表示一定的數(shù)據(jù)結(jié)構(gòu),但是由于其成員均為公有的,安全性上存在問題。java不支持結(jié)構(gòu)和聯(lián)合,通過類把數(shù)據(jù)結(jié)構(gòu)及對(duì)該數(shù)據(jù)的操作都封裝在類里面。 i 預(yù)處理C/C+語言中有宏定義,而用宏定義實(shí)現(xiàn)的代碼往往影響程序的可讀性,而java不支持宏
27、定義。1.2.5 java平臺(tái)不斷擴(kuò)展的計(jì)算平臺(tái)java不僅是編程語言,還是一個(gè)開發(fā)平臺(tái),java技術(shù)給程序員提供了許多工具:編譯器、解釋器、文檔生成器和文件打包工具等等。同時(shí)java還是一個(gè)程序發(fā)布平臺(tái),有兩種主要的"發(fā)布環(huán)境",首先java運(yùn)行時(shí)環(huán)境(java runtime environment,簡稱JRE)包含了完整的類文件包,其次許多主要的瀏覽器都提供了java解釋器和運(yùn)行時(shí)環(huán)境。目前Sun公司把java平臺(tái)劃分成J2EE、J2SE、J2ME三個(gè)平臺(tái),針對(duì)不同的市場目標(biāo)和設(shè)備進(jìn)行定位。J2EE是Java2 Enterprise Edition,主要目的是為企業(yè)計(jì)
28、算提供一個(gè)應(yīng)用服務(wù)器的運(yùn)行和開發(fā)平臺(tái)。J2EE本身是一個(gè)開放的標(biāo)準(zhǔn),任何軟件廠商都可以推出自己的符合J2EE標(biāo)準(zhǔn)的產(chǎn)品,使用戶可以有多種選擇。IBM、Oracle、BEA、HP等29家已經(jīng)推出了自己的產(chǎn)品,其中尤以BEA公司的weglogic產(chǎn)品和IBM公司的websphare最為著名。J2EE將逐步發(fā)展成為可以與微軟的.NET戰(zhàn)略相對(duì)抗的網(wǎng)絡(luò)計(jì)算平臺(tái)。J2SE是Java2 Standard Edition,主要目的是為臺(tái)式機(jī)和工作站提供一個(gè)開發(fā)和運(yùn)行的平臺(tái)。我們?cè)趯W(xué)習(xí)java的過程中,主要是采用J2SE來進(jìn)行開發(fā)。J2ME是Java2 Micro Edition,主要是面向消費(fèi)電子產(chǎn)品,為消
29、費(fèi)電子產(chǎn)品提供一個(gè)java的運(yùn)行平臺(tái),使得java程序能夠在手機(jī)、機(jī)頂盒、PDA等產(chǎn)品上運(yùn)行。上述三個(gè)java平臺(tái)的關(guān)系如右圖所示。1.3 一切都是對(duì)象1.3.1 面向過程面向?qū)ο蟮牡谝粋€(gè)原則是把數(shù)據(jù)和對(duì)該數(shù)據(jù)的操作都封裝在一個(gè)類中,在程序設(shè)計(jì)時(shí)要考慮多個(gè)對(duì)象及其相互間的關(guān)系。有些功能并不一定由一個(gè)程序段完全實(shí)現(xiàn),可以讓其它對(duì)象來實(shí)現(xiàn),在本例中就由類Max完成求最大值的功能。而面向?qū)ο蟮牧硗庖粋€(gè)好處是實(shí)現(xiàn)代碼的重復(fù)使用,例如其它的程序中如果需要求最大值的功能,只需要通過類Max的對(duì)象就可以達(dá)到目的。但是如果象面向過程的代碼段那樣把求最大值的算法都實(shí)現(xiàn)在該代碼段中,則無法復(fù)用。1.3.2 面向?qū)?/p>
30、象1 所有的東西都是對(duì)象??梢詫?duì)象想象成為一種新型變量,它保存著數(shù)據(jù),而且還可以對(duì)自身數(shù)據(jù)進(jìn)行操作。例如類Max中保留著數(shù)據(jù)的最大值,同時(shí)還有方法updateMax根據(jù)新加入的price值產(chǎn)生最新的最大值,還有g(shù)etMax方法返回?cái)?shù)據(jù)的最大值。 2 程序是一大堆對(duì)象的組合。通過消息傳遞,各對(duì)象知道自己應(yīng)該做些什么。如果需要讓對(duì)象做些事情,則須向該對(duì)象"發(fā)送一條消息"。具體來說,可以將消息想象成為一個(gè)調(diào)用請(qǐng)求,它調(diào)用的是從屬于目標(biāo)對(duì)象的一個(gè)方法。例如上面面向?qū)ο蟮某绦蚨螒?yīng)該是屬于某個(gè)類的,比如說是屬于類Shopping,則Shopping中就包含了類Max的對(duì)象max,調(diào)用
31、方法updateMax就相當(dāng)于Shopping對(duì)象對(duì)max對(duì)象發(fā)出一條指令"updateMax",要求對(duì)象max重新計(jì)算最大值。 3 每個(gè)對(duì)象都有自己的存儲(chǔ)空間。可容納其它對(duì)象,或者說通過封裝現(xiàn)有的對(duì)象,可以產(chǎn)生新型對(duì)象。因此,盡管對(duì)象的概念非常簡單,但是經(jīng)過封裝以后卻可以在程序中達(dá)到任意高的復(fù)雜程度。 4 每個(gè)對(duì)象都屬于某個(gè)類。根據(jù)語法,每個(gè)對(duì)象都是某個(gè)"類"的一個(gè)"實(shí)例"。一個(gè)類的最重要的的特征就是"能將什么消息發(fā)給它?",也就是類本身有哪些操作。例如max是類Max的實(shí)例。1.4 構(gòu)建java程序1.4.1
32、第一個(gè)java applicationjava程序分為java application(java 應(yīng)用程序)和java applet(java小應(yīng)用程序)兩種。下面讓我們編寫一個(gè)java應(yīng)用程序,它能夠利用來自java標(biāo)準(zhǔn)庫的System對(duì)象的多種方法,打印出與當(dāng)前運(yùn)行的系統(tǒng)有關(guān)的資料。其中"/"代表一種注釋方式,表示從這個(gè)符號(hào)開始到這行結(jié)束的所有內(nèi)容都是注釋。在每個(gè)程序文件的開頭,如果這個(gè)文件的代碼中用到了系統(tǒng)所提供的額外的類,就必須放置一個(gè)import語句。說它是額外的是指一個(gè)特殊的類庫"java.lang"會(huì)自動(dòng)導(dǎo)入到每個(gè)java文件。/這是我們的
33、第一個(gè)java application,該程序保存在文件Property.java中import java.util.*; /*下面我們用到了Date和Properties這兩個(gè)類,是屬于java.util這個(gè)包的;*/*而System和Runtime這兩個(gè)類,是屬于java.lang這個(gè)包的。*/public class Property /程序員給這個(gè)類取名為Propertypublic static void main(String args) /main是類的主方法System.out.println(new Date( ); /在命令行下面打印出日期Properties p=Syst
34、em.getProperties( ); /獲得系統(tǒng)的Properties對(duì)象pp.list(System.out); /在命令行下打印出p中的各個(gè)系統(tǒng)變量的值System.out.println("- Memory Usage:"); /*打印一行字符串-Memory Usage*/Runtime rt=Runtime.getRuntime( ); /獲得系統(tǒng)的Runtime對(duì)象rtSystem.out.println("Total Memory= " + rt.totalMemory( ) /打印總內(nèi)存大小+" Free Memory =
35、"+rt.freeMemory( ); /打印空閑內(nèi)存大小在java中,程序都是以類的方式組織的,java源文件都保存在以java為后綴的.java文件當(dāng)中。每個(gè)可運(yùn)行的程序都是一個(gè)類文件,或者稱之為字節(jié)碼文件,保存在.class文件中。而作為一個(gè)java application,類中必須包含主方法,程序的執(zhí)行是從main方法開始的,方法頭的格式是確定不變的:public static void main(String args) 其中關(guān)鍵字public意味著方法可以由外部世界調(diào)用。main方法的參數(shù)是一個(gè)字符串?dāng)?shù)組args,雖然在本程序中沒有用到,但是必須列出來。程序的第一行非常有
36、意思:System.out.println(new Date();打印語句的參數(shù)是一個(gè)日期對(duì)象Date,而創(chuàng)建Date對(duì)象的目的就是把它的值發(fā)給println()語句。一旦這個(gè)語句執(zhí)行完畢,Date對(duì)象就沒用了,而后"無用內(nèi)存回收器"會(huì)將其收回。第二行中調(diào)用了System.getProperties( )。從幫助文檔中可知,getProperties( )是System類的一個(gè)靜態(tài)方法(static 方法),由于它是"靜態(tài)"的,所以不必創(chuàng)建任何對(duì)象就可以調(diào)用該方法。在第三行,Properties對(duì)象有一個(gè)名為list( )的方法,它將自己的全部內(nèi)容都發(fā)給
37、一個(gè)PrintStream對(duì)象,該對(duì)象就是list()方法的參數(shù)。第四行和第六行是典型的打印語句,其中第六行通過運(yùn)算符""的重載來連接多個(gè)字符串對(duì)象,在java中只有當(dāng)""運(yùn)算符作用于字符串時(shí)在能夠進(jìn)行重載。但是讓我們仔細(xì)觀察下述語句:System.out.println("Total Memory= " + rt.totalMemory( ) /打印總內(nèi)存大小+" Free Memory = "+rt.freeMemory( ); /打印空閑內(nèi)存大小其中,totalMemory( )和freeMemory( )返
38、回的是數(shù)值,并非String對(duì)象。如果將一個(gè)字符串與一個(gè)數(shù)值相加,結(jié)果會(huì)如何?在這種情況下,編譯器會(huì)自動(dòng)調(diào)用一個(gè)toString()方法,將該數(shù)值(int型或者float型)轉(zhuǎn)換成字符串。經(jīng)過這樣處理以后,就可以用""進(jìn)行字符串連接了。main()的第五行通過調(diào)用Runtime的getRuntime()方法創(chuàng)建了一個(gè)Runtime對(duì)象,該對(duì)象中包含了內(nèi)存等信息。1.4.2 java程序的編輯java程序的編輯可以使用任何一種文本編輯器,例如UltraEdit、Notepad、Wordpad甚至word,然后只要把編輯好的文件存成.java文件。當(dāng)然也可以用一些集成開發(fā)環(huán)境,
39、例如Borland公司的JBuilder,IBM公司的Visualage for Java,此外還有cafe、kawa等其它集成開發(fā)環(huán)境。1.4.3 java程序的編譯Sun公司為全世界的java程序員提供了一個(gè)免費(fèi)的java程序開發(fā)包(Java Develop Kit,簡稱JDK),其中包括了java編譯器命令"javac",以及java執(zhí)行命令"java",還有幫助文檔生成器命令"javadoc"等等。所有這些命令都可以在命令行下運(yùn)行,例如我們要編譯上述java文件Property.java,如果是在windows中進(jìn)行開發(fā),就可
40、以在"命令提示符"下進(jìn)行編譯,在命令行中敲入"javac Property.java",如圖1_4_1所示:1.4.4 java application的執(zhí)行當(dāng)編譯結(jié)束以后,在java源文件中的每一個(gè)類都會(huì)生成相應(yīng)的 .class 文件,例如上圖中就會(huì)生成一個(gè)Property.class文件,而java程序在執(zhí)行時(shí)調(diào)用的是.class 文件。Java application的執(zhí)行是在命令行下進(jìn)行的,如果是在windows系統(tǒng)中,就可以"命令提示符"下敲入"java Propery"進(jìn)行執(zhí)行,該"java&
41、quot;命令會(huì)啟動(dòng)java虛擬機(jī),并讀入Property.class文件進(jìn)行執(zhí)行。由于該程序的運(yùn)行結(jié)果直接在命令行下進(jìn)行輸出1.4.5 第一個(gè)java appletjava程序的另一種形式是java applet,applet沒有main()方法,它必須嵌在超文本文件中,在瀏覽器中進(jìn)行運(yùn)行。右面這個(gè)程序?qū)⒃跒g覽器中顯示一行字符串。/這是我們的第一個(gè)java applet,該程序保存在文件HelloEducation.java中import java.awt.Graphics; /在進(jìn)行顯示輸出時(shí),需要用到類Graphics的對(duì)象;import java.applet.Applet; /App
42、let類是所有的java applet的父類;public class HelloEducation extends Applet /程序員給這個(gè)類取名為HelloEducation/所有的applet程序都是Applet類的子類public String s;public void init() /s=new String("Welcome to Tongfang Education"); /生成一個(gè)字符串對(duì)象public void paint(Graphics g)g.drawString(s,25,25); /在瀏覽器中坐標(biāo)為(25,25)的位置顯示字符串sapple
43、t程序是從方法init( )開始執(zhí)行的,在該方法中完成了對(duì)字符串s的初始化工作,而顯示功能是在方法paint( )中執(zhí)行的。paint( )方法是類Applet的一個(gè)成員方法,其參數(shù)是圖形對(duì)象Graphics g,通過調(diào)用對(duì)象g的drawString( )方法就可以顯示輸出。1.4.6 java applet的執(zhí)行java applet程序也是一個(gè)類,其編譯方式與java application完全一樣,HelloEducation.java程序經(jīng)過編譯以后就生成了HelloEducation.class文件。java applet的執(zhí)行方式與java application完全不同,java
44、 applet程序必須嵌入到html文件中才能夠執(zhí)行,因此必須編寫相應(yīng)的html文件。下面為HelloEducaiton.html文件的內(nèi)容:<html><applet code=HelloEducation.class width=250 height=250></applet></html>然后可以通過JDK所提供的命令"appletviewer",在命令行下面執(zhí)行java applet程序。如果是在windows操作系統(tǒng)中,就可以在"命令提示符"下敲入"appletviewer HelloE
45、ducation.html",如圖1_4_4所示。此時(shí)系統(tǒng)會(huì)彈出另外一個(gè)窗口運(yùn)行該applet程序,結(jié)果如圖1_4_5所示。applet還可以采用另外一種方式運(yùn)行,那就是直接在瀏覽器中打開HelloEducation.html程序,結(jié)果如圖1_4_6所示。在主流的瀏覽器如IE、Netscape中都包含有java虛擬機(jī),負(fù)責(zé)解釋執(zhí)行java applet程序。1.5 java程序規(guī)范1.5.1 java源程序結(jié)構(gòu)一個(gè)完整的java源程序應(yīng)該包括下列部分:package語句; /該部分至多只有一句,必須放在源程序的第一句import語句; /*該部分可以有若干import語句或者沒有,必
46、須放在所有的 類定義之前*/public classDefinition; /公共類定義部分,至多只有一個(gè)公共類的定義 /java語言規(guī)定該java源程序的文件名必須與該公共類名完全一致classDefinition; /類定義部分,可以有0個(gè)或者多個(gè)類定義interfaceDefinition; /接口定義部分,可以有0個(gè)或者多個(gè)接口定義例如一個(gè)java源程序可以是如下結(jié)構(gòu),該源程序命名為HelloWorldApp.java:package javawork.helloworld; /*把編譯生成的所有.class文件放到包 javawork.helloworld中*/import java
47、.awt.*; /告訴編譯器本程序中用到系統(tǒng)的AWT包import javawork.newcentury; /*告訴編譯器本程序中用到用戶自定義的包javawork.newcentury*/public class HelloWorldApp. /*公共類HelloWorldApp的定義, 名字與文件名相同*/class TheFirstClass. /第一個(gè)普通類TheFirstClass的定義class TheSecondClass. /第二個(gè)普通類TheSecondClass的定義. /其它普通類的定義interface TheFirstInterface. /*第一個(gè)接口TheFir
48、stInterface的定義*/. /其它接口定義package語句:由于java編譯器為每個(gè)類生成一個(gè)字節(jié)碼文件,且文件名與類名相同,因此同名的類有可能發(fā)生沖突。為了解決這一問題,java提供包來管理類名空間,包實(shí)際提供了一種命名機(jī)制和可見性限制機(jī)制。而在java的系統(tǒng)類庫中,把功能相似的類放到一個(gè)包(package)中,例如所有的圖形界面的類都放在java.awt這個(gè)包中,與網(wǎng)絡(luò)功能有關(guān)的類都放到這個(gè)包中。用戶自己編寫的類(指.class文件)也應(yīng)該按照功能放在由程序員自己命名的相應(yīng)的包中,例如上例中的javawork.helloworld就是一個(gè)包。包在實(shí)際的實(shí)現(xiàn)過程中是與文件系統(tǒng)相對(duì)應(yīng)
49、的,例如javawork.helloworld所對(duì)應(yīng)的目錄是pathjavaworkhelloworld,而path是在編譯該源程序時(shí)指定的。比如在命令行中編譯上述HelloWorldApp.java文件時(shí),可以在命令行中敲入"javac -d f:javaproject HelloWorldApp.java",則編譯生成的HelloWorldApp.class文件將放在目錄f:javaprojectjavaworkhelloworld目錄下面,此時(shí)f:javaprojcet相當(dāng)于path。但是如果在編譯時(shí)不指定path,則生成的.class文件將放在編譯時(shí)命令行所在的當(dāng)前
50、目錄下面。比如在命令行目錄f:javaproject下敲入編譯命令"javac HelloWorldApp.java",則生成的HelloWorldApp.class文件將放在目錄f:javaproject下面,此時(shí)的package語句相當(dāng)于沒起作用。但是,如果程序中包含了package語句,則在運(yùn)行時(shí)就必須包含包名。例如,HelloWorldApp.java程序的第一行語句是:package p1.p2;編譯的時(shí)候在命令行下輸入"javac -d path HelloWorldApp.java",則HelloWorldApp.class將放在目錄pat
51、hp1p2的下面,這時(shí)候運(yùn)行該程序時(shí)有兩種方式:第一種:在命令行下的path目錄下輸入字符"java p1.p2.HelloWorldApp"。第二種:在環(huán)境變量classpath中加入目錄path,則運(yùn)行時(shí)在任何目錄下輸入"java p1.p2.HelloWorldApp"即可。import語句:如果在源程序中用到了除java.lang這個(gè)包以外的類,無論是系統(tǒng)的類還是自己定義的包中的類,都必須用import語句標(biāo)識(shí),以通知編譯器在編譯時(shí)找到相應(yīng)的類文件。例如上例中的java.awt是系統(tǒng)的包,而javawork.newcentury是用戶自定義的包。
52、比如程序中用到了類Button,而Button是屬于包java.awt的,在編譯時(shí)編譯器將從目錄classpathjavaawt中去尋找類Button,classpath是事先設(shè)定的環(huán)境變量,比如可以設(shè)為:classpath=.;d:jdk1.3lib。 classpath也可以稱為類路徑,需要提醒大家注意的是,在classpath中往往包含多個(gè)路徑,用分號(hào)隔開。例如classpath=.;d:jdk1.3lib中的第一個(gè)分號(hào)之前的路徑是一個(gè)點(diǎn),表示當(dāng)前目錄,分號(hào)后面的路徑是d:jdk1.3lib,表示系統(tǒng)的標(biāo)準(zhǔn)類庫目錄。在編譯過程中尋找類時(shí),先從環(huán)境變量classpath的第一個(gè)目錄開始往下
53、找,比如先從當(dāng)前目錄往下找java.awt中的類Button時(shí),編譯器找不著,然后從環(huán)境變量classpath的第二個(gè)目錄開始往下找,就是從系統(tǒng)的標(biāo)準(zhǔn)類庫目錄d:jdk1.3lib開始往下找java.awt的Button這個(gè)類,最后就找到了。如果要從一個(gè)包中引入多個(gè)類則在包名后加上".*"表示。如果程序中用到了用戶自己定義的包中的類,假如在上面程序中要用到j(luò)avawork.newcentury包中的類HelloWorldApp,而包javawork.newcentury所對(duì)應(yīng)的目錄是f:javaprojectjavaworknewcentury,classpath仍舊是cl
54、asspath=.;d:jdk1.3lib,則編譯器在編譯時(shí)將首先從當(dāng)前目錄尋找包javawork.newcentury,結(jié)果是沒有找到;然后又從環(huán)境變量classpath的第二個(gè)目錄d:jdk1.3lib開始往下找,但是仍然沒有找到。原因在于包javawork.newcentury是放在目錄f:javaproject下面。因此,需要重新設(shè)定環(huán)境變量classpath,設(shè)為classpath=.;d:jdk1.3lib;f:javaproject 。所以編譯器從f:javaproject開始找包javawork.newcentury就可以找到。源文件的命名規(guī)則:如果在源程序中包含有公共類的定義
55、,則該源文件名必須與該公共類的名字完全一致,字母的大小寫都必須一樣。這是java語言的一個(gè)嚴(yán)格的規(guī)定,如果不遵守,在編譯時(shí)就會(huì)出錯(cuò)。因此,在一個(gè)java源程序中至多只能有一個(gè)公共類的定義。如果源程序中不包含公共類的定義,則該文件名可以任意取名。如果在一個(gè)源程序中有多個(gè)類定義,則在編譯時(shí)將為每個(gè)類生成一個(gè).class文件。1.5.2 java編程規(guī)范軟件開發(fā)是一個(gè)集體協(xié)作的過程,程序員之間的代碼是經(jīng)常要進(jìn)行交換閱讀的,因此,java源程序有一些約定成俗的命名規(guī)定,主要目的是為了提高java程序的可讀性。包名:包名是全小寫的名詞,中間可以由點(diǎn)分隔開,例如:java.awt.event;類名:首字母
56、大寫,通常由多個(gè)單詞合成一個(gè)類名,要求每個(gè)單詞的首字母也要大寫,例如class HelloWorldApp;接口名:命名規(guī)則與類名相同,例如interface Collection;方法名:往往由多個(gè)單詞合成,第一個(gè)單詞通常為動(dòng)詞,首字母小寫,中間的每個(gè)單詞的首字母都要大寫,例如:balanceAccount,isButtonPressed;變量名:全小寫,一般為名詞,例如:length;常量名:基本數(shù)據(jù)類型的常量名為全大寫,如果是由多個(gè)單詞構(gòu)成,可以用下劃線隔開,例如:int YEAR, int WEEK_OF_MONTH;如果是對(duì)象類型的常量,則是大小寫混合,由大寫字母把單詞隔開。1.5.3 java幫助文檔java中所有類庫的介紹都保存在java幫助文檔中,程序員在編程過程中,必須查閱該幫助文檔,了解系統(tǒng)提供的類的功能、成員方法、成員變量等等信息以后,才能夠更好的編程。同時(shí),java開發(fā)工具包(JDK)提供了"java"、"javac"、"javadoc"、"appletviewer"等命令,在java幫助文檔中也對(duì)此進(jìn)行了詳細(xì)的介紹。java幫助文檔是以HTML文件的形式組織,通常是安裝在JDK目錄下的docs子目錄中的index.html文
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 求職報(bào)告應(yīng)屆大學(xué)生范文
- 前臺(tái)業(yè)績報(bào)告范文
- 浙江國企招聘2024衢州龍游縣全域城鄉(xiāng)測(cè)繪有限公司招聘2人筆試參考題庫附帶答案詳解
- MySQL教程(新體系-綜合應(yīng)用實(shí)例視頻)(第4版) 習(xí)題-第10章-答案
- 二零二五年度債務(wù)清償與債權(quán)保護(hù)委托合同
- 二零二五年度創(chuàng)業(yè)公司期權(quán)分配合同范本
- 二零二五年度特色飲品店餐飲服務(wù)員合同
- 2025年度退房協(xié)議書模板
- 二零二五年度學(xué)校與地方政府共建人才培養(yǎng)基地合同
- 二零二五年度雇主責(zé)任保險(xiǎn)理賠細(xì)則書
- 經(jīng)典美味的蛋炒飯
- 管理學(xué)基礎(chǔ)(第3版)全套教學(xué)課件
- 電能計(jì)量裝置配置規(guī)范
- 有償義工招募方案
- 交互設(shè)計(jì)裝置設(shè)計(jì)
- 提升機(jī)可行性分析方案設(shè)計(jì)
- 14從師夷長技到維新變法
- 冬春季節(jié)傳染病防控(流感)
- 潛在供應(yīng)商審核報(bào)告模版13-02
- 《臨床疾病概論》課件
- 安全生產(chǎn)費(fèi)用使用臺(tái)賬
評(píng)論
0/150
提交評(píng)論