已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第1章 Java開發(fā)基礎(chǔ),教學(xué)提示:本章以實用為目的 ,通過簡要講述時下流行的面向?qū)ο蟪绦蛟O(shè)計思想和Java特有的虛擬機(jī)機(jī)制,使讀者初步了解Java程序開發(fā),并指導(dǎo)讀者完成第一個Java程序。通過本章學(xué)習(xí),讀者將對Java程序開發(fā)有一個比較全面的了解。,教學(xué)目標(biāo):領(lǐng)會面向?qū)ο缶幊趟枷耄涣私釰ava的虛擬機(jī)機(jī)制;能獨立搭建Java開發(fā)環(huán)境。通過上機(jī)實踐,能編寫及運(yùn)行簡單程序。,1.1 面向?qū)ο蟪绦蛟O(shè)計思想,Java是一種真正面向?qū)ο蟮木哂斜姸喙δ艿母呒壘幊陶Z言,了解并掌握面向?qū)ο蟪绦蛟O(shè)計思想是學(xué)習(xí)Java編程必備的內(nèi)容。本節(jié)初步介紹面向?qū)ο笏枷牒兔嫦驅(qū)ο蟪绦蛟O(shè)計步驟。,1.1.1 面向?qū)ο蟮幕咎卣?1.1.2 面向?qū)ο蟪绦蛟O(shè)計步驟,1.1.1 面向?qū)ο蟮幕咎卣?程序設(shè)計思想是程序設(shè)計的靈魂 ,掌握好的設(shè)計思想 ,才能寫出高效的程序。從計算機(jī)誕生到現(xiàn)在,程序設(shè)計語言的發(fā)展從最開始的機(jī)器語言、匯編語言到過程式語言、結(jié)構(gòu)化高級語言,最后到支持面向?qū)ο蠹夹g(shù)的面向?qū)ο蟪绦蛟O(shè)計,使程序員可以脫離機(jī)器層次,在更抽象的層次上表達(dá)程序設(shè)計意圖。 面向?qū)ο蟪绦蛟O(shè)計思想最重要的概念是對象,一個對象既包括數(shù)據(jù),又包括操作這些數(shù)據(jù)的方法,對象中的數(shù)據(jù)并不能被對象的使用者直接訪問,只能通過由對象提供的方法來訪問和操作。這好比現(xiàn)實世界中的對象,比如一輛汽車,當(dāng)需要增加車速時,是通過踩油門這個方法來實現(xiàn)的。 學(xué)習(xí)面向?qū)ο蟮某绦蛟O(shè)計首先要了解面向?qū)ο蟮幕靖拍睢?返回,1. 面向?qū)ο?面向?qū)ο笫且环N認(rèn)識客觀世界的觀點,是從結(jié)構(gòu)組織角度模擬客觀世界的一種方法,人們在認(rèn)識和理解現(xiàn)實世界的過程中,普遍運(yùn)用以下三個構(gòu)造法則: (1) 區(qū)分對象及其屬性,如區(qū)分車和車的大小。 (2) 區(qū)分整體對象及其組成部分,如區(qū)分車和車輪。 (3) 不同對象類的形成及區(qū)分,如所有車的類和所有船的類。,2. 對象(Object),對象是對一組信息及對其操作的描述。如:一個窗口是一個對象,它包含了窗口的信息(如大小、顏色、位置等)及其操作(如打開、關(guān)閉等)。,3. 屬性(Property),即對象所包含的信息。如:窗口的高度。屬性可以在設(shè)計對象時確定,也可以在程序運(yùn)行時讀取和修改。,4. 方法(Method),即對象所具有的各種操作。如:窗口關(guān)閉。這種操作的過程對外是封閉的,即用戶只能看到這一方法實施后的結(jié)果。這相當(dāng)于事先已經(jīng)設(shè)計好的各種過程,只需要調(diào)用就可以了,用戶不必去關(guān)心這一過程是如何編寫的,事實上,這個過程已經(jīng)封裝在對象中,用戶也看不到。對象的這一特性,即是對象的封裝性。,5. 事件(Event),即對象在執(zhí)行某一操作后激發(fā)并執(zhí)行的一個或多個過程。這些過程對用戶是透明的,用戶可以為這個過程編寫自己的程序代碼,以完成特定的操作。如:窗口對象在執(zhí)行打開過程時,就會激活一個Active 事件(過程),用戶可以自己編寫這一過程的代碼 ,以便在打開這個窗口時完成一些自己所要求的任務(wù),如打開一個數(shù)據(jù)庫,對某個變量進(jìn)行初始化等。,6. 類(Class)與實例(Instance),類是具有共同屬性、共同方法、共同事件的對象的集合。而一個具體的對象則是其對應(yīng)類的一個實例。如果對某一個類的定義進(jìn)行修改,如增加一些屬性或修改一些方法,就得到一個新的類,而原先的類就是新類的父類。如:我們在窗口類的定義上,另外定義它還包含兩個按鈕,一個標(biāo)題是“確定”,一個標(biāo)題是 “ 取消 ”,并且在分別按下這兩個按鈕后 ,執(zhí)行OK與Cancel兩個事件。這樣就定義了一個新類,我們可以把它叫做“選擇窗口”類,并保存它,這樣就可以直接由“選擇窗口” 生成窗口實例 ,而不用每次都由“窗口”類產(chǎn)生,然后再添加按鈕。,7. 繼承(Inheritance),任何一個子類都具有其父類所有的屬性、方法和事件,這一特性叫做類的繼承。如果父類的特性發(fā)生變化,其子類也相應(yīng)改變。 繼承機(jī)制的優(yōu)點在于: (1) 避免了由于系統(tǒng)內(nèi)類對象封閉而造成數(shù)據(jù)和操作冗余的現(xiàn)象 。每個子類都可以繼承其父類的特性,包括狀態(tài)與行為。同時子類可以有與父類不同的地方,即子類可根據(jù)自身特點新增或局部修改父類的行為而加以使用,甚至可以覆蓋父類中的定義。利用繼承,只要在原有類的基礎(chǔ)上修改、增補(bǔ)、刪減少量的數(shù)據(jù)和方法,就可以得到子類,然后生成大量不同的實例。 (2) 接口的一致性 (Consistency of interface) ,父類衍生子類的其他操作接口也傳遞給其子類。 (3) 可重用性,通過繼承明顯使軟件開發(fā)速度加快 ,實現(xiàn)較高程度的共享,這是繼承最重要的優(yōu)勢。,8. 消息(message),面向?qū)ο蟮氖澜缡峭ㄟ^對象與對象間彼此的相互合作來推動的,對象間的這種相互合作需要一個機(jī)構(gòu)協(xié)助進(jìn)行 , 這樣的機(jī)構(gòu)可以稱為 “ 消息傳遞” 。消息傳遞過程中 ,由發(fā)送消息的對象的使動操作產(chǎn)生輸出結(jié)果 ,消息傳送至接受消息的對象,引發(fā)接受消息的對象一系列的操作。,1.1.2 面向?qū)ο蟪绦蛟O(shè)計步驟,了解面向?qū)ο蟪绦蜷_發(fā)的一般步驟對編寫面向?qū)ο蟪绦?,特別是初學(xué)者有很大幫助。在開始編程前首先要確定需要那些類和對象來支持程序。一般可以分以下幾個步驟來進(jìn)行程序設(shè)計。,1. 分析階段 2. 設(shè)計階段 3. 編碼階段,返回,1. 分析階段,這一階段主要采用面向?qū)ο蠹夹g(shù)進(jìn)行需求分析。面向?qū)ο蠓治鲞\(yùn)用以下主要原則: (1) 構(gòu)造和分解相結(jié)合的原則。 (2) 抽象和具體結(jié)合的原則。 (3) 封裝的原則。 (4) 繼承的原則。 根據(jù)上述分析的主要法則得到的模型是具有一定層次關(guān)系的問題空間模型,這個模型是相對有彈性,且易修改、易擴(kuò)充的 。技術(shù)識別出問題域中的對象實體 ,標(biāo)識出對象間的關(guān)系 ,然后通過對對象的分析,確定對象屬性及方法 ,利用屬性變化規(guī)律完成對象及其關(guān)系的有關(guān)描述 ,并利用方法演變規(guī)律描述對象或其關(guān)系的處理。,返回,2. 設(shè)計階段,這一階段主要利用面向?qū)ο蠹夹g(shù)進(jìn)行概念設(shè)計。值得注意的是,面向?qū)ο蟮脑O(shè)計與面向?qū)ο蟮姆治鍪褂昧讼嗤姆椒?,這就使得從分析到設(shè)計的轉(zhuǎn)變非常自然,甚至難以區(qū)分。可以說,從“面向?qū)ο蠓治觥?到“面向?qū)ο笤O(shè)計 ” 是一個積累型的擴(kuò)充模型的過程 。這種擴(kuò)充使得設(shè)計變得很簡單,它是從增加屬性、服務(wù)開始的一種增量遞進(jìn)式的擴(kuò)充。這一過程與結(jié)構(gòu)化開發(fā)方法從數(shù)據(jù)流程圖到結(jié)構(gòu)圖所發(fā)生的劇變截然不同。 一般而言,在設(shè)計階段就是將分析階段的各層模型化的“問題空間”逐層擴(kuò)展,得到下個模型化的特定的“實現(xiàn)空間”。有時還要在設(shè)計階段考慮硬件體系結(jié)構(gòu)、軟件體系結(jié)構(gòu),并采用各種手段(如規(guī)范化)控制因擴(kuò)充而引起的數(shù)據(jù)冗余。,返回,3. 編碼階段,這一階段主要是將面向?qū)ο笤O(shè)計中得到的模型利用程序設(shè)計實現(xiàn)。具體操作包括:選擇程序設(shè)計語言編程、調(diào)試、試運(yùn)行等。前面兩階段得到的對象及其關(guān)系最終都是由程序語言、數(shù)據(jù)庫等技術(shù)來實現(xiàn)的。,返回,1.2 Java的虛擬機(jī)機(jī)制,Java的一個重要的特征平臺無關(guān)性就是通過Java虛擬機(jī)屏蔽了與具體平臺相關(guān)信息來實現(xiàn)的。一般高級語言程序如果需要搬到另一平臺上使用,至少必須重新編譯才能保證能正常運(yùn)行,而Java語言只需編譯成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼,就可以直接在多個平臺上運(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é)議對話框,單擊Yes按鈕接受協(xié)議。 2. 選擇安裝目錄 不同版本的J2SE默認(rèn)安裝目錄不同,對于j2sdk-1_4_2_04-windows-i586-p.exe,默認(rèn)安裝目錄是C:j2sdk1.4.2_04,也可以單擊Change按鈕選擇安裝目錄,如圖1.1所示。,返回,3. 選擇安裝的組件 在如圖1.1所示的對話框中選擇安裝的組件,如果硬盤空間足夠,推薦安裝所有組件。 4. 選擇使用Java Plug-in 的瀏覽器 在圖1.1所示的對話框中單擊Next按鈕,出現(xiàn)如圖1.2所示的對話框,選擇使用的瀏覽器類型。 5. 結(jié)束安裝 單擊圖1.2所示對話框中的Install 按鈕將開始實際的安裝過程 ,最后單擊Finish按鈕結(jié)束安裝。,返回,圖1.1 選擇所安裝的組件和安裝目錄,返回,圖1.2 選擇使用Plug-In的瀏覽器,返回,對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窗口時,會自動將C:j2sdk1.4.2_04bin目錄加入搜索路徑。在 DOS 中執(zhí)行一個程序時 ,如果當(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)是一個軟件工程工具,這是Java區(qū)別于其他任何編程語言的地方,利用這個工具,可以為自己所編寫的源程序生產(chǎn)一份HTML格式的文檔,其中包括類和接口的描述,類的繼承層次,類中的任何成員變量、方法的索引和介紹,甚至還能包括Java文檔格式的注釋。,返回,Java采用一種稱做“字節(jié)編碼”的程序結(jié)構(gòu),分為小程序(嵌入到HTML文件中)和應(yīng)用程序(直接在命令狀態(tài)下執(zhí)行)兩種類型。無論哪種結(jié)構(gòu),編譯后,均變成后綴為CLASS的同名可執(zhí)行文件。這種文件是不可閱讀的代碼。 下面介紹兩款Java反編譯工具,基于字符界面的JAD反編譯工具和圖形界面的小穎Java源代碼反編譯專家。,1.4.2
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024物業(yè)租賃中的讓與擔(dān)保 甲方與乙方合同范本
- 2025年度體育賽事代理合同終止及賽事推廣合作協(xié)議4篇
- 2025年度商鋪物業(yè)管理與應(yīng)急響應(yīng)預(yù)案合同4篇
- 2025年度變壓器租賃及電力設(shè)備租賃期滿續(xù)租合同3篇
- 2024藝人廣告代言服務(wù)合同范本
- 2025年度主題餐廳投資合作協(xié)議范本3篇
- 2025年度水果種植基地與電商平臺合作合同3篇
- 2024跨境電子商務(wù)融資代建合同
- 2025年度安全生產(chǎn)信息化服務(wù)合同范本3篇
- 2025年度新能源汽車充電站車棚建設(shè)與運(yùn)營承包合同4篇
- 2024高考復(fù)習(xí)必背英語詞匯3500單詞
- 消防控制室值班服務(wù)人員培訓(xùn)方案
- 《貴州旅游介紹》課件2
- 2024年中職單招(護(hù)理)專業(yè)綜合知識考試題庫(含答案)
- 無人機(jī)應(yīng)用平臺實施方案
- 挪用公款還款協(xié)議書范本
- 事業(yè)單位工作人員年度考核登記表(醫(yī)生個人總結(jié))
- 盾構(gòu)隧道施工數(shù)字化與智能化系統(tǒng)集成
- 【企業(yè)盈利能力探析文獻(xiàn)綜述2400字】
- 2019年醫(yī)養(yǎng)結(jié)合項目商業(yè)計劃書
- 2023年店鋪工程主管年終業(yè)務(wù)工作總結(jié)
評論
0/150
提交評論