已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章 Java開發(fā)基礎(chǔ),教學(xué)提示:本章以實(shí)用為目的 ,通過(guò)簡(jiǎn)要講述時(shí)下流行的面向?qū)ο蟪绦蛟O(shè)計(jì)思想和Java特有的虛擬機(jī)機(jī)制,使讀者初步了解Java程序開發(fā),并指導(dǎo)讀者完成第一個(gè)Java程序。通過(guò)本章學(xué)習(xí),讀者將對(duì)Java程序開發(fā)有一個(gè)比較全面的了解。,教學(xué)目標(biāo):領(lǐng)會(huì)面向?qū)ο缶幊趟枷?;了解Java的虛擬機(jī)機(jī)制;能獨(dú)立搭建Java開發(fā)環(huán)境。通過(guò)上機(jī)實(shí)踐,能編寫及運(yùn)行簡(jiǎn)單程序。,1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)思想,Java是一種真正面向?qū)ο蟮木哂斜姸喙δ艿母呒?jí)編程語(yǔ)言,了解并掌握面向?qū)ο蟪绦蛟O(shè)計(jì)思想是學(xué)習(xí)Java編程必備的內(nèi)容。本節(jié)初步介紹面向?qū)ο笏枷牒兔嫦驅(qū)ο蟪绦蛟O(shè)計(jì)步驟。,1.1.1 面向?qū)ο蟮幕咎卣?1.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)步驟,1.1.1 面向?qū)ο蟮幕咎卣?程序設(shè)計(jì)思想是程序設(shè)計(jì)的靈魂 ,掌握好的設(shè)計(jì)思想 ,才能寫出高效的程序。從計(jì)算機(jī)誕生到現(xiàn)在,程序設(shè)計(jì)語(yǔ)言的發(fā)展從最開始的機(jī)器語(yǔ)言、匯編語(yǔ)言到過(guò)程式語(yǔ)言、結(jié)構(gòu)化高級(jí)語(yǔ)言,最后到支持面向?qū)ο蠹夹g(shù)的面向?qū)ο蟪绦蛟O(shè)計(jì),使程序員可以脫離機(jī)器層次,在更抽象的層次上表達(dá)程序設(shè)計(jì)意圖。 面向?qū)ο蟪绦蛟O(shè)計(jì)思想最重要的概念是對(duì)象,一個(gè)對(duì)象既包括數(shù)據(jù),又包括操作這些數(shù)據(jù)的方法,對(duì)象中的數(shù)據(jù)并不能被對(duì)象的使用者直接訪問(wèn),只能通過(guò)由對(duì)象提供的方法來(lái)訪問(wèn)和操作。這好比現(xiàn)實(shí)世界中的對(duì)象,比如一輛汽車,當(dāng)需要增加車速時(shí),是通過(guò)踩油門這個(gè)方法來(lái)實(shí)現(xiàn)的。 學(xué)習(xí)面向?qū)ο蟮某绦蛟O(shè)計(jì)首先要了解面向?qū)ο蟮幕靖拍睢?返回,1. 面向?qū)ο?面向?qū)ο笫且环N認(rèn)識(shí)客觀世界的觀點(diǎn),是從結(jié)構(gòu)組織角度模擬客觀世界的一種方法,人們?cè)谡J(rèn)識(shí)和理解現(xiàn)實(shí)世界的過(guò)程中,普遍運(yùn)用以下三個(gè)構(gòu)造法則: (1) 區(qū)分對(duì)象及其屬性,如區(qū)分車和車的大小。 (2) 區(qū)分整體對(duì)象及其組成部分,如區(qū)分車和車輪。 (3) 不同對(duì)象類的形成及區(qū)分,如所有車的類和所有船的類。,2. 對(duì)象(Object),對(duì)象是對(duì)一組信息及對(duì)其操作的描述。如:一個(gè)窗口是一個(gè)對(duì)象,它包含了窗口的信息(如大小、顏色、位置等)及其操作(如打開、關(guān)閉等)。,3. 屬性(Property),即對(duì)象所包含的信息。如:窗口的高度。屬性可以在設(shè)計(jì)對(duì)象時(shí)確定,也可以在程序運(yùn)行時(shí)讀取和修改。,4. 方法(Method),即對(duì)象所具有的各種操作。如:窗口關(guān)閉。這種操作的過(guò)程對(duì)外是封閉的,即用戶只能看到這一方法實(shí)施后的結(jié)果。這相當(dāng)于事先已經(jīng)設(shè)計(jì)好的各種過(guò)程,只需要調(diào)用就可以了,用戶不必去關(guān)心這一過(guò)程是如何編寫的,事實(shí)上,這個(gè)過(guò)程已經(jīng)封裝在對(duì)象中,用戶也看不到。對(duì)象的這一特性,即是對(duì)象的封裝性。,5. 事件(Event),即對(duì)象在執(zhí)行某一操作后激發(fā)并執(zhí)行的一個(gè)或多個(gè)過(guò)程。這些過(guò)程對(duì)用戶是透明的,用戶可以為這個(gè)過(guò)程編寫自己的程序代碼,以完成特定的操作。如:窗口對(duì)象在執(zhí)行打開過(guò)程時(shí),就會(huì)激活一個(gè)Active 事件(過(guò)程),用戶可以自己編寫這一過(guò)程的代碼 ,以便在打開這個(gè)窗口時(shí)完成一些自己所要求的任務(wù),如打開一個(gè)數(shù)據(jù)庫(kù),對(duì)某個(gè)變量進(jìn)行初始化等。,6. 類(Class)與實(shí)例(Instance),類是具有共同屬性、共同方法、共同事件的對(duì)象的集合。而一個(gè)具體的對(duì)象則是其對(duì)應(yīng)類的一個(gè)實(shí)例。如果對(duì)某一個(gè)類的定義進(jìn)行修改,如增加一些屬性或修改一些方法,就得到一個(gè)新的類,而原先的類就是新類的父類。如:我們?cè)诖翱陬惖亩x上,另外定義它還包含兩個(gè)按鈕,一個(gè)標(biāo)題是“確定”,一個(gè)標(biāo)題是 “ 取消 ”,并且在分別按下這兩個(gè)按鈕后 ,執(zhí)行OK與Cancel兩個(gè)事件。這樣就定義了一個(gè)新類,我們可以把它叫做“選擇窗口”類,并保存它,這樣就可以直接由“選擇窗口” 生成窗口實(shí)例 ,而不用每次都由“窗口”類產(chǎn)生,然后再添加按鈕。,7. 繼承(Inheritance),任何一個(gè)子類都具有其父類所有的屬性、方法和事件,這一特性叫做類的繼承。如果父類的特性發(fā)生變化,其子類也相應(yīng)改變。 繼承機(jī)制的優(yōu)點(diǎn)在于: (1) 避免了由于系統(tǒng)內(nèi)類對(duì)象封閉而造成數(shù)據(jù)和操作冗余的現(xiàn)象 。每個(gè)子類都可以繼承其父類的特性,包括狀態(tài)與行為。同時(shí)子類可以有與父類不同的地方,即子類可根據(jù)自身特點(diǎn)新增或局部修改父類的行為而加以使用,甚至可以覆蓋父類中的定義。利用繼承,只要在原有類的基礎(chǔ)上修改、增補(bǔ)、刪減少量的數(shù)據(jù)和方法,就可以得到子類,然后生成大量不同的實(shí)例。 (2) 接口的一致性 (Consistency of interface) ,父類衍生子類的其他操作接口也傳遞給其子類。 (3) 可重用性,通過(guò)繼承明顯使軟件開發(fā)速度加快 ,實(shí)現(xiàn)較高程度的共享,這是繼承最重要的優(yōu)勢(shì)。,8. 消息(message),面向?qū)ο蟮氖澜缡峭ㄟ^(guò)對(duì)象與對(duì)象間彼此的相互合作來(lái)推動(dòng)的,對(duì)象間的這種相互合作需要一個(gè)機(jī)構(gòu)協(xié)助進(jìn)行 , 這樣的機(jī)構(gòu)可以稱為 “ 消息傳遞” 。消息傳遞過(guò)程中 ,由發(fā)送消息的對(duì)象的使動(dòng)操作產(chǎn)生輸出結(jié)果 ,消息傳送至接受消息的對(duì)象,引發(fā)接受消息的對(duì)象一系列的操作。,1.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)步驟,了解面向?qū)ο蟪绦蜷_發(fā)的一般步驟對(duì)編寫面向?qū)ο蟪绦颍貏e是初學(xué)者有很大幫助。在開始編程前首先要確定需要那些類和對(duì)象來(lái)支持程序。一般可以分以下幾個(gè)步驟來(lái)進(jìn)行程序設(shè)計(jì)。,1. 分析階段 2. 設(shè)計(jì)階段 3. 編碼階段,返回,1. 分析階段,這一階段主要采用面向?qū)ο蠹夹g(shù)進(jìn)行需求分析。面向?qū)ο蠓治鲞\(yùn)用以下主要原則: (1) 構(gòu)造和分解相結(jié)合的原則。 (2) 抽象和具體結(jié)合的原則。 (3) 封裝的原則。 (4) 繼承的原則。 根據(jù)上述分析的主要法則得到的模型是具有一定層次關(guān)系的問(wèn)題空間模型,這個(gè)模型是相對(duì)有彈性,且易修改、易擴(kuò)充的 。技術(shù)識(shí)別出問(wèn)題域中的對(duì)象實(shí)體 ,標(biāo)識(shí)出對(duì)象間的關(guān)系 ,然后通過(guò)對(duì)對(duì)象的分析,確定對(duì)象屬性及方法 ,利用屬性變化規(guī)律完成對(duì)象及其關(guān)系的有關(guān)描述 ,并利用方法演變規(guī)律描述對(duì)象或其關(guān)系的處理。,返回,2. 設(shè)計(jì)階段,這一階段主要利用面向?qū)ο蠹夹g(shù)進(jìn)行概念設(shè)計(jì)。值得注意的是,面向?qū)ο蟮脑O(shè)計(jì)與面向?qū)ο蟮姆治鍪褂昧讼嗤姆椒?,這就使得從分析到設(shè)計(jì)的轉(zhuǎn)變非常自然,甚至難以區(qū)分??梢哉f(shuō),從“面向?qū)ο蠓治觥?到“面向?qū)ο笤O(shè)計(jì) ” 是一個(gè)積累型的擴(kuò)充模型的過(guò)程 。這種擴(kuò)充使得設(shè)計(jì)變得很簡(jiǎn)單,它是從增加屬性、服務(wù)開始的一種增量遞進(jìn)式的擴(kuò)充。這一過(guò)程與結(jié)構(gòu)化開發(fā)方法從數(shù)據(jù)流程圖到結(jié)構(gòu)圖所發(fā)生的劇變截然不同。 一般而言,在設(shè)計(jì)階段就是將分析階段的各層模型化的“問(wèn)題空間”逐層擴(kuò)展,得到下個(gè)模型化的特定的“實(shí)現(xiàn)空間”。有時(shí)還要在設(shè)計(jì)階段考慮硬件體系結(jié)構(gòu)、軟件體系結(jié)構(gòu),并采用各種手段(如規(guī)范化)控制因擴(kuò)充而引起的數(shù)據(jù)冗余。,返回,3. 編碼階段,這一階段主要是將面向?qū)ο笤O(shè)計(jì)中得到的模型利用程序設(shè)計(jì)實(shí)現(xiàn)。具體操作包括:選擇程序設(shè)計(jì)語(yǔ)言編程、調(diào)試、試運(yùn)行等。前面兩階段得到的對(duì)象及其關(guān)系最終都是由程序語(yǔ)言、數(shù)據(jù)庫(kù)等技術(shù)來(lái)實(shí)現(xiàn)的。,返回,1.2 Java的虛擬機(jī)機(jī)制,Java的一個(gè)重要的特征平臺(tái)無(wú)關(guān)性就是通過(guò)Java虛擬機(jī)屏蔽了與具體平臺(tái)相關(guān)信息來(lái)實(shí)現(xiàn)的。一般高級(jí)語(yǔ)言程序如果需要搬到另一平臺(tái)上使用,至少必須重新編譯才能保證能正常運(yùn)行,而Java語(yǔ)言只需編譯成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼,就可以直接在多個(gè)平臺(tái)上運(yùn)行。,1.3 搭建Java開發(fā)環(huán)境,1.3.1 安裝J2SDK,1.3.2 設(shè)置J2SE,1.3.3 J2SDK幫助文檔的利用,1.3.1 安裝J2SDK,1. 開始安裝 雙擊下載的J2SE安裝程序,在出現(xiàn)的初始安裝界面中單擊 Next 按鈕,出現(xiàn)許可協(xié)議對(duì)話框,單擊Yes按鈕接受協(xié)議。 2. 選擇安裝目錄 不同版本的J2SE默認(rèn)安裝目錄不同,對(duì)于j2sdk-1_4_2_04-windows-i586-p.exe,默認(rèn)安裝目錄是C:j2sdk1.4.2_04,也可以單擊Change按鈕選擇安裝目錄,如圖1.1所示。,返回,3. 選擇安裝的組件 在如圖1.1所示的對(duì)話框中選擇安裝的組件,如果硬盤空間足夠,推薦安裝所有組件。 4. 選擇使用Java Plug-in 的瀏覽器 在圖1.1所示的對(duì)話框中單擊Next按鈕,出現(xiàn)如圖1.2所示的對(duì)話框,選擇使用的瀏覽器類型。 5. 結(jié)束安裝 單擊圖1.2所示對(duì)話框中的Install 按鈕將開始實(shí)際的安裝過(guò)程 ,最后單擊Finish按鈕結(jié)束安裝。,返回,圖1.1 選擇所安裝的組件和安裝目錄,返回,圖1.2 選擇使用Plug-In的瀏覽器,返回,對(duì)J2SE的設(shè)置主要是設(shè)置環(huán)境變量,以方便使用安裝目錄下 bin子目錄中的各種工具。由于J2SE的編譯、運(yùn)行多在DOS環(huán)境下進(jìn)行,為了能在任何目錄中使用C:j2sdk1.4.2_04bin目錄下的工具,可在Windows 9x操作系統(tǒng)C盤根目錄的autoexec.bat中加入如下一行: set path= C:j2sdk1.4.2_04bin;%path% 則以后每次打開DOS窗口時(shí),會(huì)自動(dòng)將C:j2sdk1.4.2_04bin目錄加入搜索路徑。在 DOS 中執(zhí)行一個(gè)程序時(shí) ,如果當(dāng)前目錄沒(méi)有該程序 ,會(huì)自動(dòng)到C:j2sdk1.4.2_04bin等目錄查找。,1.3.2 設(shè)置J2SE,返回,J2SDK幫助文檔并不存在于J2SDK安裝文件中,而查看J2SDK幫助文檔又是我們了解J2SDK的最直接的途徑。,1.3.3 J2SDK幫助文檔的利用,返回,1.4 應(yīng)用程序流程,1.4.1 建檔應(yīng)用程序Javadoc,1.4.2 反編譯工具的使用,1.4.1 建檔應(yīng)用程序Javadoc,Java文檔生成器(Javadoc)是一個(gè)軟件工程工具,這是Java區(qū)別于其他任何編程語(yǔ)言的地方,利用這個(gè)工具,可以為自己所編寫的源程序生產(chǎn)一份HTML格式的文檔,其中包括類和接口的描述,類的繼承層次,類中的任何成員變量、方法的索引和介紹,甚至還能包括Java文檔格式的注釋。,返回,Java采用一種稱做“字節(jié)編碼”的程序結(jié)構(gòu),分為小程序(嵌入到HTML文件中)和應(yīng)用程序(直接在命令狀態(tài)下執(zhí)行)兩種類型。無(wú)論哪種結(jié)構(gòu),編譯后,均變成后綴為CLASS的同名可執(zhí)行文件。這種文件是不可閱讀的代碼。 下面介紹兩款Java反編譯工具,基于字符界面的JAD反編譯工具和圖形界面的小穎Java源代碼反編譯專家。,1.4.2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年眉山藥科職業(yè)學(xué)院高職單招數(shù)學(xué)歷年參考題庫(kù)含答案解析
- 2025年湘教版九年級(jí)生物上冊(cè)月考試卷含答案
- 2025年上外版六年級(jí)語(yǔ)文下冊(cè)月考試卷
- 2024年韶鋼醫(yī)院集團(tuán)有限公司醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 二零二五版房地產(chǎn)項(xiàng)目土地儲(chǔ)備與聯(lián)合管理合作合同3篇
- 二零二五年度拆除工程現(xiàn)場(chǎng)環(huán)保監(jiān)測(cè)與整改協(xié)議3篇
- 2024年項(xiàng)目退出協(xié)議書范本
- 2025年度國(guó)際貿(mào)易糾紛解決機(jī)制合同3篇
- 個(gè)性化2024版分居離婚協(xié)議樣本
- 2024年航天發(fā)射設(shè)施設(shè)計(jì)與施工合同
- 2024年藥品質(zhì)量信息管理制度(2篇)
- 2024-2025學(xué)年人教版八年級(jí)物理第七章力單元測(cè)試題
- 2023年浙江杭州師范大學(xué)附屬醫(yī)院招聘考試真題
- 2024年職工職業(yè)技能大賽數(shù)控銑工賽項(xiàng)理論考試題庫(kù)-下(多選、判斷題)
- 防高墜安全警示培訓(xùn)
- 2025年蛇年年會(huì)匯報(bào)年終總結(jié)大會(huì)模板
- 廣東省廣州市2024年中考數(shù)學(xué)真題試卷(含答案)
- 初二數(shù)學(xué)幾何試題(含答案)
- 人教部編版七年級(jí)語(yǔ)文上冊(cè)《閱讀綜合實(shí)踐》示范課教學(xué)設(shè)計(jì)
- 孤殘兒童護(hù)理員技能鑒定考試題庫(kù)(含答案)
- (正式版)QC∕T 1206.1-2024 電動(dòng)汽車動(dòng)力蓄電池?zé)峁芾硐到y(tǒng) 第1部分:通 用要求
評(píng)論
0/150
提交評(píng)論