Eclipse軟件開發(fā)工具:第1章 Eclipse概述_第1頁(yè)
Eclipse軟件開發(fā)工具:第1章 Eclipse概述_第2頁(yè)
Eclipse軟件開發(fā)工具:第1章 Eclipse概述_第3頁(yè)
Eclipse軟件開發(fā)工具:第1章 Eclipse概述_第4頁(yè)
Eclipse軟件開發(fā)工具:第1章 Eclipse概述_第5頁(yè)
已閱讀5頁(yè),還剩127頁(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、Eclipse Software Development ToolEclipse軟件開發(fā)工具課程認(rèn)識(shí)軟件基本概念軟件危機(jī)軟件開發(fā)過(guò)程軟件開發(fā)工具軟件基本概念軟件概念軟件是為了特定目的,存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中的程序及相關(guān)數(shù)據(jù)的集合,這些程序由指令組成,告訴計(jì)算機(jī)做什么和如何做。 軟件=程序+過(guò)程+算法+文檔計(jì)算機(jī)系統(tǒng)的軟件主要分成三大類系統(tǒng)軟件(System software):協(xié)助計(jì)算機(jī)硬件和系統(tǒng)工作,實(shí)現(xiàn)計(jì)算機(jī)的基本功能。編程軟件(Programming software):編程軟件通常是提供給程序員的工具,通過(guò)該工具可以方便地使用不同的編程語(yǔ)言,來(lái)編寫計(jì)算機(jī)程序和軟件。一個(gè)集成開發(fā)環(huán)境(In

2、tegrated Development Environment,IDE)是一個(gè)單獨(dú)的應(yīng)用軟件試圖管理所有的這些功能。應(yīng)用軟件(Application software):用于完成某種計(jì)算任務(wù)。例如網(wǎng)頁(yè)瀏覽是一種應(yīng)用軟件,可以顯示網(wǎng)頁(yè)服務(wù)器或者文件系統(tǒng)的HTML文件內(nèi)容,并讓用戶與這些文件交互。軟件的其他分類方法基于軟件功能的劃分 系統(tǒng)軟件應(yīng)用軟件基于軟件工作方式的劃分實(shí)時(shí)處理軟件分時(shí)軟件交互式軟件批處理軟件軟件的其他分類方法基于軟件運(yùn)行環(huán)境劃分單機(jī)運(yùn)行軟件網(wǎng)絡(luò)運(yùn)行軟件嵌入式軟件基于軟件體系結(jié)構(gòu)劃分 單層多層 C/S結(jié)構(gòu) B/S結(jié)構(gòu) 多層架構(gòu) 軟件危機(jī)軟件開發(fā)成本和進(jìn)度失控由于軟件是邏輯、智力

3、產(chǎn)品,與其他產(chǎn)品的生產(chǎn)不一樣的。用戶需求變化等各種意想不到的情況會(huì)給項(xiàng)目計(jì)劃帶來(lái)很大的困難。盲目增加軟件開發(fā)人員可能使項(xiàng)目的組織、協(xié)調(diào)、通信、培訓(xùn)、管理等方面的問(wèn)題更為嚴(yán)重。 用戶對(duì)軟件產(chǎn)品(軟件系統(tǒng))不滿意軟件產(chǎn)品質(zhì)量差軟件產(chǎn)品可維護(hù)性差軟件缺少相應(yīng)文檔資料軟件成本上升、生產(chǎn)率低消除軟件危機(jī)的途徑采用科學(xué)的方法論使用軟件工程思想和方法論開發(fā)過(guò)程的格式化、自動(dòng)化培養(yǎng)高素質(zhì)的開發(fā)人員借助先進(jìn)的軟件開發(fā)和管理工具采用先進(jìn)的軟件開發(fā)技術(shù)先進(jìn)的軟件體系結(jié)構(gòu):構(gòu)件重用、層次化面向?qū)ο蠓椒ㄜ浖_發(fā)活動(dòng)軟件生命周期是軟件的產(chǎn)生直到報(bào)廢的生命周期,周期內(nèi)有:?jiǎn)栴}的定義及規(guī)劃需求分析軟件設(shè)計(jì)總體設(shè)計(jì);詳細(xì)設(shè)計(jì);

4、文檔。程序編碼軟件測(cè)試運(yùn)行維護(hù)軟件開發(fā)模型瀑布模型開發(fā)活動(dòng)的一個(gè)階段結(jié)束后才進(jìn)入下一個(gè)階段。原型法確定基本需求;開發(fā)初始原型;評(píng)審;不斷地修改和提升原型。螺旋模型在開發(fā)周期內(nèi)進(jìn)行經(jīng)常性的風(fēng)險(xiǎn)評(píng)估。迭代增量模型每次迭代都包括需求分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試,一次迭代僅完成系統(tǒng)的一部分功能或業(yè)務(wù)邏輯。敏捷軟件開發(fā)應(yīng)對(duì)快速變化的需求;面對(duì)面溝通、頻繁交付新版本、高效團(tuán)隊(duì);更加注重人的作用。軟件開發(fā)工具軟件開發(fā)工具是一種軟件,是輔助和支持其他軟件研制和維護(hù)的工具,使用軟件開發(fā)工具可以提高軟件生產(chǎn)率和改進(jìn)軟件質(zhì)量。支持整個(gè)軟件生存周期,而不僅限于編碼:業(yè)務(wù)系統(tǒng)規(guī)劃工具;項(xiàng)目管理工具;分析和設(shè)計(jì)工具;編程工具;

5、測(cè)試與分析工具;原型工具; 維護(hù)工具。 常用的集成開發(fā)工具與環(huán)境Eclipse跨平臺(tái)的開源、可擴(kuò)展集成開發(fā)環(huán)境;插件體系結(jié)構(gòu);NetBeansJava集成開發(fā)環(huán)境;完整支持Java EE標(biāo)準(zhǔn);IntelliJ IDEA(Android Studio)JetBrains公司的產(chǎn)品;主要支持Java軟件開發(fā);無(wú)需鼠標(biāo)即可完成大部分開發(fā)任務(wù);IDE效率較快;智能提示豐富;Visual StudioWindows平臺(tái)開發(fā)工具,支持C+,C#等的開發(fā);XcodeApple公司的Mac OS X,iOS平臺(tái)開發(fā)工具。課程內(nèi)容和課程目的本課程結(jié)合軟件開發(fā)技術(shù)理論,講述利用Eclipse進(jìn)行軟件開發(fā)的關(guān)鍵技術(shù)

6、,包括Android開發(fā)工具、C/C+/Java開發(fā)工具、GUI開發(fā)、Web開發(fā)、數(shù)據(jù)庫(kù)工具、建模工具、單元測(cè)試、部署工具、版本控制和插件開發(fā)工具。教學(xué)目標(biāo):了解軟件開發(fā)環(huán)境;熟悉軟件開發(fā)工具的使用;能夠熟練配置相關(guān)開發(fā)環(huán)境;能夠利用軟件開發(fā)工具進(jìn)行高效的軟件開發(fā)。課程安排以Eclipse的Android軟件開發(fā)實(shí)例為主線,兼顧Web開發(fā)、GUI開發(fā)、UML建模、JUnit測(cè)試等功能,講授Eclipse工具的豐富功能。課堂授課: 32學(xué)時(shí)考試方式: 考查 考勤+課堂作業(yè) 2040%大作業(yè) 6080%第一章Eclipse概述第二章Android開發(fā)環(huán)境搭建第三章用戶界面設(shè)計(jì)第四章事件處理第五章高

7、級(jí)控件開發(fā)第六章組件之間的通信第七章多媒體開發(fā)第八章數(shù)據(jù)持久化開發(fā)第九章網(wǎng)絡(luò)通信開發(fā)第十章Web與桌面GUI開發(fā)第十一章UML建模與JUnit測(cè)試第十二章輔助工具與插件開發(fā)參考資料教材:Android程序設(shè)計(jì)教程,方欣等著, 電子工業(yè)出版社, 2014年, ISBN: 9787121227165。參考書目: 1.Eclipse 3.0程序開發(fā)技術(shù)詳解, 吳越勝 著, 清華大學(xué)出版社, 2010年, ISBN: 9787302211013;2.軟件開發(fā)環(huán)境與工具,相潔等著, 電子工業(yè)出版社, 2012年, ISBN: 9787121136672;3.Android應(yīng)用程序開發(fā),汪杭軍著, 機(jī)械工

8、業(yè)出版社, 2014年, ISBN: 9787111461036。課程特點(diǎn)和學(xué)習(xí)方法課程特點(diǎn)涉及的課程、內(nèi)容較多理論聯(lián)系實(shí)踐授課時(shí)間短學(xué)習(xí)方法結(jié)合實(shí)踐主動(dòng)學(xué)習(xí)上課認(rèn)真聽講,下課參閱課程相關(guān)資料綜合利用網(wǎng)絡(luò)上的資源第1章 Eclipse概述Eclipse 概述本章主要內(nèi)容如下:Eclipse 簡(jiǎn)介Eclipse 體系結(jié)構(gòu)Eclipse 的安裝與配置工作區(qū)和工作臺(tái)JDT開發(fā)基礎(chǔ)Eclipse 簡(jiǎn)介Eclipse的官方網(wǎng)站上是這樣定義的:“Eclipse是一個(gè)開放源代碼的、基于 Java 的通用的可擴(kuò)展開發(fā)平臺(tái),它的項(xiàng)目是面向建立一個(gè)開放的開發(fā)平臺(tái)、包括可擴(kuò)展框架、工具、運(yùn)行時(shí),用于構(gòu)建、發(fā)布和管理

9、軟件項(xiàng)目的整個(gè)生命周期?!痹诒菊n程學(xué)習(xí)之前,同學(xué)們已經(jīng)對(duì)Eclipse有所了解。起碼已經(jīng)知道它是一個(gè)Java的集成開發(fā)環(huán)境(IDE)。本課程將講解Eclipse更為豐富軟件開發(fā)功能,在具體的項(xiàng)目開發(fā)任務(wù)中以Eclipse為開發(fā)工具,開發(fā)基于Android、Web或GUI的交互式應(yīng)用軟件。 Eclipse歷史Eclipse 的前身是 IBM 的 Visual Age for Java。把這個(gè)項(xiàng)目免費(fèi)贈(zèng)送給 Eclipse 社區(qū) () 前,IBM 已經(jīng)投入超過(guò)四千萬(wàn)美元進(jìn)行研發(fā)。Eclipse 社區(qū)的創(chuàng)始人還包括 Borland、Merant、QNX Software Systems、Ration

10、al Software、 Sybase 、 Red Hat、 SuSE、TogetherSoft 和 Webgain,后來(lái)加入的還有 Oracle 等公司。Eclipse歷史版本Eclipse的字面含義是“日蝕”。Eclipse的比較大的版本都是以衛(wèi)星或行星的名稱作為代號(hào)的,例如:Eclipse 3.1 2005年6月27日 版本代號(hào) IO 木衛(wèi)1,伊奧 Eclipse 3.2 2006年6月26日 版本代號(hào) Callisto 木衛(wèi)四,卡里斯托 Eclipse 3.3 2007年6月27日 版本代號(hào) Eruopa 木衛(wèi)二,歐羅巴 Eclipse 3.4 2008年6月25日 版本代號(hào) Gany

11、mede 木衛(wèi)三,蓋尼米德 Eclipse 3.5 2009年6月24日 版本代號(hào) Galileo 伽利略 Eclipse 3.6 2010年6月23日 版本代號(hào) Helios 太陽(yáng)神Eclipse 3.7 2011年6月22日 版本代號(hào) Indigo 靛青Eclipse 3.8/4.2 2012年6月27日 版本代號(hào) juno 婚神星Eclipse 4.3 2013年6月26日 版本代號(hào) Kepler 開普勒Eclipse 4.4 2014年6月25日 版本代號(hào) Luna 月神Eclipse 4.5 2015年6月28日 版本代號(hào) MarsEclipse進(jìn)行Java開發(fā)Eclipse進(jìn)行桌面

12、GUI開發(fā)Eclipse進(jìn)行Web開發(fā)Eclipse進(jìn)行Android移動(dòng)開發(fā)Eclipse進(jìn)行UML建模Eclipse團(tuán)隊(duì)開發(fā)中的SVN版本控制Eclipse 平臺(tái)What is Eclipse ?Eclipse 是一個(gè)開放源代碼的、基于Java的、通用的可擴(kuò)展開發(fā)平臺(tái)(Open, extensible architecture based on plug-ins)Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集(JDT 和 PDE)具有跨平臺(tái)特性:同時(shí)支持Windows、Mac OS X和LinuxJava VMStandard JavaVirtual Machine PlatformEclipse

13、 PlatformJava Development ToolsJDTPDEPlug-in DevelopmentEnvironmentEclipse平臺(tái)體系結(jié)構(gòu)Eclipse 平臺(tái)是一個(gè)具有一組強(qiáng)大服務(wù)的框架,支持集成各種功能的插件,比如 Java開發(fā)工具(JDT)和插件開發(fā)環(huán)境(PDE)。由幾個(gè)主要的部分構(gòu)成:平臺(tái)運(yùn)行庫(kù)、工作區(qū)、工作臺(tái)、團(tuán)隊(duì)支持和幫助。下圖為Eclipse平臺(tái)體系結(jié)構(gòu)。Platform RuntimeWorkspaceHelpTeamWorkbenchJFaceSWTEclipse ProjectJavaDevelopmentTools(JDT)Their ToolYour

14、 ToolAnotherToolPlug-inDevelopmentEnvironment(PDE)Eclipse PlatformDebugEclipse平臺(tái)體系結(jié)構(gòu)平臺(tái)運(yùn)行庫(kù)(Platform Runtime)平臺(tái)運(yùn)行庫(kù)是內(nèi)核,它在啟動(dòng)時(shí)檢查已安裝了哪些插件,并創(chuàng)建關(guān)于它們的注冊(cè)表信息。為減少啟動(dòng)時(shí)間和資源使用,它在實(shí)際需要某一插件時(shí)才加載該插件。除了內(nèi)核外,其他每樣?xùn)|西都是作為插件來(lái)實(shí)現(xiàn)的。工作區(qū)(Workspace)工作區(qū)是負(fù)責(zé)管理用戶資源的插件。包括用戶創(chuàng)建的項(xiàng)目、文件和其他資源。工作區(qū)還負(fù)責(zé)通知其他插件關(guān)于資源變更的信息,比如文件創(chuàng)建、刪除或更改。Platform RuntimeW

15、orkspaceHelpTeamWorkbenchJFaceSWTEclipse PlatformDebugEclipse 體系結(jié)構(gòu)工作臺(tái)(Workbench)Eclipse 工作臺(tái)由各種功能的視圖(View)窗格組成,提供用戶界面和交互的功能。使用標(biāo)準(zhǔn)窗口工具包(SWT)和一個(gè)更高級(jí)的API(JFace)來(lái)構(gòu)建。SWT比Swing或AWT更緊密地映射到底層操作系統(tǒng)的本機(jī)圖形功能,不僅更快速,而且使得Java程序具有更像本機(jī)應(yīng)用程序的外觀和感覺。Platform RuntimeWorkspaceHelpTeamWorkbenchJFaceSWTEclipse PlatformDebugEcli

16、pse平臺(tái)體系結(jié)構(gòu)團(tuán)隊(duì)支持(Team)負(fù)責(zé)提供版本控制和配置管理支持。允許用戶與所使用的任何版本控制系統(tǒng)(CVS/SVN)交互。幫助(Help)幫助組件具有可擴(kuò)展能力。幫助提供一個(gè)附加的導(dǎo)航結(jié)構(gòu)。允許工具以HTML文件的形式添加文檔。Platform RuntimeWorkspaceHelpTeamWorkbenchJFaceSWTEclipse PlatformDebugEclipse插件體系結(jié)構(gòu)整個(gè) Eclipse 平臺(tái)建立在插件機(jī)制之上插件是 Eclipse 平臺(tái)下最小的可單獨(dú)開發(fā)和發(fā)布的功能單元;除了平臺(tái)運(yùn)行時(shí)內(nèi)核,Eclipse 平臺(tái)所有的功能都由插件實(shí)現(xiàn)。Platform Runt

17、imeWorkspaceHelpTeamWorkbenchJFaceSWTEclipse ProjectJavaDevelopmentTools(JDT)Their ToolYour ToolAnotherToolPlug-inDevelopmentEnvironment(PDE)Eclipse PlatformDebugEclipse 體系結(jié)構(gòu)之分層Eclipse 體系結(jié)構(gòu)分為UI層和核心層Platform RuntimeEclipse PlatformWorkspaceWorkbenchSWTJFaceTeamHelpDebugAnt“Core”“UI”Eclipse的安裝和配置Eclip

18、se是免費(fèi)的,可以從Eclipse社區(qū)的網(wǎng)站上免費(fèi)獲得最新版的Eclipse。Eclipse社區(qū)的網(wǎng)址是 。Eclipse可以下載到不同版本的、包含不同插件的、面向某種應(yīng)用的Eclipse平臺(tái)。Eclipse的安裝很簡(jiǎn)單,由于它沒(méi)有安裝程序,完全符合“綠色軟件”的概念。從Eclipse的官方網(wǎng)站上選擇特定版本的Eclipse下載。下載完成后解壓縮到指定的文件夾,然后雙擊eclipse.exe就可以運(yùn)行Eclipse。因?yàn)椴挥冒惭b、不需要在系統(tǒng)中注冊(cè)任何信息,所以可以在磁盤上放置多個(gè)版本的Eclipse,可以根據(jù)需要,選用對(duì)應(yīng)的版本。工作空間(Workspace)在Eclipse界面之下,Ecl

19、ipse對(duì)文件的管理機(jī)制稱為工作空間或工作區(qū)。Workspace是用于保存用戶配置數(shù)據(jù)和項(xiàng)目資源的文件夾。第一次運(yùn)行Eclipse的時(shí)候,Eclipse要求用戶選擇Workspace目錄。將來(lái)用Eclipse建立的所有開發(fā)項(xiàng)目都會(huì)默認(rèn)保存到這個(gè)工作空間內(nèi)。工作空間目錄結(jié)構(gòu)Workspace是磁盤專門開辟出來(lái)給Eclipse保存工作文件的一個(gè)文件夾,而用戶建立的項(xiàng)目文件也會(huì)保存到Workspace里面。Workspace中保存的內(nèi)容包括:用戶的設(shè)置數(shù)據(jù)項(xiàng)目文件切換工作空間Eclipse中的Workspace是很靈活的。在同一個(gè)系統(tǒng)內(nèi),可以有多個(gè)Workspace,并可以切換使用。要切換Works

20、pace,只要選擇菜單File-Switch Workspace-Other 。安裝插件“一切都是插件”;在Eclipse內(nèi),所有應(yīng)用功能都是由插件完成的;通過(guò)安裝插件,可以不斷擴(kuò)展Eclipse的功能。了解Eclipse的主要插件想要了解Eclipse中安裝了哪些插件,可以通過(guò)Help-About Eclipse Platform 打開“關(guān)于”對(duì)話框。在“關(guān)于”對(duì)話框里面可以看到一排小圖標(biāo),每個(gè)小圖標(biāo)代碼一個(gè)插件產(chǎn)品。但是并不是所有插件產(chǎn)品都會(huì)注冊(cè)成一個(gè)圖標(biāo)。 按Plug-in Details可以看到已經(jīng)安裝的插件。獲得Eclipse的源代碼根據(jù)開源的協(xié)議,Eclipse提供者在提供軟件的同

21、時(shí)還應(yīng)該提供源代碼,所以在Eclipse的發(fā)行包中,已經(jīng)包含了Eclipse的源代碼。在plugins文件夾內(nèi),找到類似xxxx.source_xxxx.jar的插件包,用解壓縮工具打開,在里面就可以找到j(luò)ava文件。另外,在進(jìn)行Java開發(fā)的時(shí)候,也可以通過(guò)相應(yīng)的操作直接在JDT中打開Eclipse的源代碼。Eclipse的幫助中心Eclipse幫助中心,集中了Eclipse現(xiàn)有項(xiàng)目的所有幫助文檔。幫助中心的網(wǎng)址是。在瀏覽器輸入該地址后,會(huì)自動(dòng)跳轉(zhuǎn)到最新版的Eclipse 的幫助中心的地址。例如最新版的是4.5,那么就自動(dòng)跳轉(zhuǎn)到 /mars/index.jsp。也可以通過(guò)Help-Conte

22、nt打開本機(jī)的幫助系統(tǒng)。Workbench的理念Eclipse界面的基本布局與Windows程序沒(méi)有區(qū)別最外圍是一個(gè)標(biāo)準(zhǔn)的窗口,有標(biāo)題欄,標(biāo)題欄下面是菜單,菜單下面是工具欄,在窗口的底端是狀態(tài)欄。中間的部分就是用戶的工作區(qū)。Eclipse提供給用戶操作的區(qū)域叫做Workbench工作臺(tái)Eclipse的設(shè)計(jì)者比喻說(shuō)“一個(gè)軟件的界面就好像是一個(gè)工匠的工作臺(tái),工匠在這個(gè)工作臺(tái)上使用各種各樣的工具,發(fā)揮他的聰明才智,完成一件又一件優(yōu)秀作品?!盓clipse工作臺(tái)概覽Eclipse工作臺(tái)是基于編輯器(editor)和視圖(view)。從用戶的角度上看,工作臺(tái)窗口由視圖和編輯器組成。透視圖則包含視圖和編輯

23、器。Eclipse 工作臺(tái)工作臺(tái)概述指的是桌面開發(fā)環(huán)境,使用SWT和JFace技術(shù)提供用戶界面組件,包含一個(gè)或多個(gè)透視圖。透視圖都包含一個(gè)編輯器區(qū)域和一個(gè)或多個(gè)視圖,并且控制出現(xiàn)在某些菜單欄和工具欄中的內(nèi)容。視圖提供了資源的分層視圖并允許您打開它們以進(jìn)行編輯。編輯器可以將不同的編輯器與不同類型的文件相關(guān)聯(lián) 。例如當(dāng)通過(guò)在其中一個(gè)導(dǎo)航視圖中雙擊要編輯的文件來(lái)打開它時(shí),就會(huì)在“工作臺(tái)”中打開相關(guān)聯(lián)的編輯器。如果資源沒(méi)有相關(guān)聯(lián)的編輯器,則“工作臺(tái)”會(huì)嘗試在“工作臺(tái)”外部啟動(dòng)外部編輯器。Eclipse工作臺(tái)之編輯器占據(jù)屏幕最大一部分區(qū)域的是編輯器。一些沒(méi)有編輯器的透視圖只是把編輯器區(qū)隱藏起來(lái)而已。Ec

24、lipse能夠根據(jù)打開的文件格式而打開相關(guān)的編輯器。例如打開一個(gè)文本,顯示的編輯器就是最簡(jiǎn)單的文本編輯器;打開一個(gè)Java 文檔,那么相應(yīng)的編輯器就是Java 編輯器。編輯器允許用戶打開、編輯和保存對(duì)象。它們遵循打開保存關(guān)閉這樣一個(gè)生命周期,這很像基于文件系統(tǒng)的工具,但緊密地集成在工作臺(tái)中。各類型編輯器概覽Eclipse工作臺(tái)之視圖視圖提供關(guān)于工作臺(tái)正在處理的對(duì)象的相關(guān)信息。視圖可以輔助編輯器提供關(guān)于正在編輯的文檔的相關(guān)信息。標(biāo)準(zhǔn)內(nèi)容大綱視圖顯示了當(dāng)前活動(dòng)編輯器中的內(nèi)容的大綱。一個(gè)視圖還可以通過(guò)提供當(dāng)前選擇對(duì)象的相關(guān)信息來(lái)補(bǔ)充另一個(gè)視圖的內(nèi)容。標(biāo)準(zhǔn)的屬性視圖顯示了另一個(gè)視圖選擇的對(duì)象的屬性。視

25、圖的生命周期比編輯器簡(jiǎn)單。在視圖中進(jìn)行的修改(例如修改一個(gè)屬性值)通常立即被保存,修改立即反映到用戶界面的相關(guān)部分。平臺(tái)提供許多標(biāo)準(zhǔn)視圖;還有一些視圖由其他插件提供。打開視圖View視圖是為編輯器提供支持的,或者是顯示一些信息,或者提供其他一些編輯方式。在Eclipse平臺(tái)中,內(nèi)建的視圖有:項(xiàng)目瀏覽器視圖、任務(wù)視圖、問(wèn)題視圖、概覽視圖、標(biāo)簽視圖、操作臺(tái)視圖、瀏覽器視圖、搜索視圖、屬性視圖。通過(guò)菜單Window-Show View可以展開一些常用的視圖,通過(guò)Show View子菜單中的other.可以打開Show view(顯示視圖)對(duì)話框。打開視圖View視圖菜單視圖的菜單右鍵菜單下拉菜單項(xiàng)目

26、瀏覽視圖項(xiàng)目瀏覽視圖是最常用的一個(gè)視圖,提供了一個(gè)樹狀列表列出了工作區(qū)中的項(xiàng)目以及項(xiàng)目?jī)?nèi)的文件結(jié)構(gòu)。通過(guò)項(xiàng)目瀏覽視圖可以打開、刪除或者移動(dòng)、修改項(xiàng)目中的文件。“任務(wù)”視圖就像日常辦公的任務(wù)管理一樣,這個(gè)任務(wù)視圖也是用來(lái)記錄任務(wù)提醒的。例如在Java源代碼中,輸入包含TODO字眼的注釋,那么在這個(gè)列表中就會(huì)自動(dòng)增加一條任務(wù)。問(wèn)題視圖問(wèn)題視圖列出了當(dāng)前存在的各種問(wèn)題。這些問(wèn)題包括有系統(tǒng)運(yùn)行時(shí)的問(wèn)題、項(xiàng)目文件中的問(wèn)題、編譯遇到的問(wèn)題、調(diào)試運(yùn)行時(shí)的問(wèn)題等等。這些問(wèn)題又分兩大類,一類是Error(錯(cuò)誤),另一類是Warning(警告)。“大綱”視圖顯示當(dāng)前在編輯器區(qū)域中打開的結(jié)構(gòu)化文件的大綱并列示結(jié)構(gòu)元

27、素。內(nèi)容是特定于編輯器的。Eclipse透視圖Eclipse工作臺(tái)包含一個(gè)或多個(gè)透視圖。一個(gè)透視圖是一組視圖和編輯器以及這些視圖和編輯器的布局模式。但是,同一時(shí)刻僅僅可以顯示一個(gè)透視圖。每個(gè)透視圖都有它自己的一組視圖和編輯器,其目的在于完成特定類型的任務(wù)或使用特定類型的資源。透視圖定義針對(duì)給定用戶任務(wù)的視圖、這些視圖的布局和可用操作的集合。當(dāng)用戶在各任務(wù)之間移動(dòng)時(shí),他們可以在各透視圖之間進(jìn)行切換。透視圖操作1打開透視圖打開Eclipse,默認(rèn)的透視圖是 Resource 透視圖,它是一個(gè)基本的通用視圖集,用于管理項(xiàng)目以及查看和編輯項(xiàng)目中的文件,讀者可以通過(guò)如下幾種方法打開其他透視圖。(1)在菜

28、單欄中選擇“Window”“Open Perspective”菜單命令打開透視圖,如左圖所示。如果列表中沒(méi)有所需要透視圖,單擊“Other”菜單命令,即可選擇更多透視圖,如右圖所示。 透視圖操作(2)單擊工具欄“ ”按鈕,如圖所示,選擇相應(yīng)透視圖。在工具條中選擇透視圖資源透視圖資源是指存在于工作臺(tái)中的項(xiàng)目、文件夾和文件。資源透視圖(Resource Perspective)主要用來(lái)幫助用戶進(jìn)行資源管理。我們可以看到,資源透視圖主要包括導(dǎo)航器視圖、大綱視圖、任務(wù)視圖和一個(gè)編輯器。當(dāng)進(jìn)行文件編輯的時(shí)候,編輯器會(huì)自動(dòng)啟動(dòng),它將位于任務(wù)視圖的上方。如圖所示。Java透視圖Java透視圖(Java Pe

29、rspective)將編輯Java源文件時(shí)常用的視圖組合在一起,它們是一組更適合于 Java 開發(fā)的視圖。其中之一就是被稱為Package Explorer的視圖,它是一個(gè)包含各種Java包、類、jar和其他文件的層次結(jié)構(gòu),位于頁(yè)面的左側(cè),如圖所示。調(diào)試透視圖調(diào)試透視圖(Debug Perspective)包含將在調(diào)試Java程序時(shí)使用的視圖,這個(gè)透視圖包含了一個(gè)進(jìn)程視圖,顯示出所有當(dāng)前正在運(yùn)行和最近終結(jié)的進(jìn)程,還包含一個(gè)控制臺(tái)視圖,允許開發(fā)人員通過(guò)標(biāo)準(zhǔn)的輸入和輸出流與被選中的正在運(yùn)行的進(jìn)程交互。如圖所示。CVS資源瀏覽透視圖通常CVS 的主要功能是記錄源文件的歷史。當(dāng)一組人員從事開發(fā)同一個(gè)項(xiàng)

30、目時(shí),CVS會(huì)將他們彼此隔離開來(lái)。每個(gè)開發(fā)人員都在其自己的目錄中獨(dú)立工作,然后使用CVS資源庫(kù)(不時(shí)地)合并工作結(jié)果。Eclipse擁有與其IDE緊密集成的內(nèi)置CVS客戶機(jī),它是作為一個(gè)單獨(dú)透視圖(CVS Repository Exploring 透視圖)而實(shí)現(xiàn)的,用于與CVS 的交互。如圖所示。Java開發(fā)工具簡(jiǎn)介JDT的全稱是Java Development Tools。大部分用戶使用Eclipse都是為了進(jìn)行Java開發(fā),JDT就成了Eclipse的標(biāo)準(zhǔn)配置。 JDT作為一個(gè)Java開發(fā)的IDE,其功能涵蓋了Java開發(fā)的整個(gè)過(guò)程,包括Java代碼編輯器、增強(qiáng)的Java構(gòu)建器、各種調(diào)試和

31、測(cè)試工具。在界面上也繼承了Eclipse的一些特色。對(duì)于程序員來(lái)說(shuō),在Eclipse上的大部分時(shí)光就是在Java透視圖上度過(guò)的。默認(rèn)的Java透視圖由Package Explorer、Java編輯器、Outline、Task、Problems、Console等視圖組成。Eclipse中軟件項(xiàng)目的開發(fā)過(guò)程Eclipse工具形成了一套簡(jiǎn)單又規(guī)范的開發(fā)過(guò)程。通過(guò)使用Eclipse,可以養(yǎng)成規(guī)范的開發(fā)習(xí)慣。一個(gè)軟件的開發(fā),通常都包括下面幾個(gè)過(guò)程:設(shè)計(jì)、項(xiàng)目分析、代碼開發(fā)、測(cè)試、調(diào)試、產(chǎn)品發(fā)布。Eclipse的主要功能包括了軟件開發(fā)周期的幾個(gè)方面。新建項(xiàng)目向?qū)ч_始項(xiàng)目的第一步就是新建項(xiàng)目,選擇菜單Fil

32、e-New-New Project可以打開新建項(xiàng)目的向?qū)?。通過(guò)工具欄上的New按鈕也可以拉出新建菜單,選擇New Project就可以打開新建項(xiàng)目的向?qū)?。幾種建立項(xiàng)目的途徑除了可以建立一個(gè)全新的項(xiàng)目外,Eclipse可以有多種途徑新建項(xiàng)目。下面是集中常用的新建項(xiàng)目途徑,可以在新建項(xiàng)目向?qū)е锌吹竭@幾種新建項(xiàng)目的途徑:從磁盤文件夾導(dǎo)入項(xiàng)目導(dǎo)入已有Ant項(xiàng)目從CSV/SVN服務(wù)器導(dǎo)入項(xiàng)目幾種建立項(xiàng)目的途徑導(dǎo)入已有項(xiàng)目如果要從磁盤文件中導(dǎo)入成為新的項(xiàng)目,則要使用Import(導(dǎo)入)功能。使用菜單File-Import命令可以打開導(dǎo)入向?qū)?。關(guān)閉和打開項(xiàng)目Eclipse中,一個(gè)項(xiàng)目被建立后,會(huì)一直處于打開

33、狀態(tài)。每次啟動(dòng)Eclipse,都會(huì)自動(dòng)打開這個(gè)項(xiàng)目。Eclipse同時(shí)打開的項(xiàng)目太多,會(huì)影響占用大量的系統(tǒng)資源。因?yàn)镋clipse雖要隨時(shí)對(duì)項(xiàng)目進(jìn)行監(jiān)控,一旦這個(gè)項(xiàng)目相關(guān)的資源被改變,會(huì)重新編譯或者構(gòu)造這個(gè)項(xiàng)目。隨著項(xiàng)目的增多,一些暫時(shí)不用的項(xiàng)目應(yīng)該關(guān)閉,以節(jié)省系統(tǒng)資源。要關(guān)閉一個(gè)項(xiàng)目,點(diǎn)擊右鍵,彈出快捷菜單,選擇Close Project 就可以了。關(guān)閉和打開項(xiàng)目設(shè)置工作集在Eclipse中,同時(shí)開發(fā)多個(gè)項(xiàng)目是很平常的事情,尤其是在開發(fā)Eclipse插件的時(shí)候,一個(gè)插件也會(huì)分成多個(gè)Eclipse項(xiàng)目。Working Set其實(shí)是一種過(guò)濾顯示的功能。當(dāng)項(xiàng)目多的時(shí)候,可以用Working Set

34、“工作集”功能把相關(guān)的項(xiàng)目分類。在Project視圖或者Package等等和項(xiàng)目有關(guān)的視圖中,可以通過(guò)選擇Working Set,僅僅顯示少數(shù)幾個(gè)項(xiàng)目,讓界面顯示更簡(jiǎn)潔。設(shè)置工作集刪除項(xiàng)目關(guān)閉項(xiàng)目或者通過(guò)Working Set隱藏項(xiàng)目,都只是暫時(shí)把項(xiàng)目放一邊不用而已。如果一個(gè)項(xiàng)目已經(jīng)不需要了,那么可以把它刪除。先選擇要?jiǎng)h除的項(xiàng)目,點(diǎn)擊右鍵,彈出快捷菜單,選擇Delete。工程項(xiàng)目的依賴軟件開發(fā)過(guò)程中,一般都會(huì)分層開發(fā),比如Java項(xiàng)目、Web項(xiàng)目、Android項(xiàng)目通常會(huì)單獨(dú)建一個(gè)項(xiàng)目進(jìn)行開發(fā)。項(xiàng)目之間的引用關(guān)系通常采用jar包的依賴方式進(jìn)行,但是這樣引起的問(wèn)題是:為了更新代碼必須更新依賴項(xiàng)目

35、的jar文件,降低了軟件的開發(fā)效率。在Eclipse中,可以設(shè)置工程項(xiàng)目直接依賴另一個(gè)工程項(xiàng)目,這樣被引用的項(xiàng)目代碼一旦更改,不需要重新編譯,在引用工程中就能自動(dòng)生效了。Eclipse項(xiàng)目引用的設(shè)置Java項(xiàng)目引用Java項(xiàng)目在項(xiàng)目Properties中,選擇Java Build Path頁(yè)面的Projects選項(xiàng)卡,增加被引用的Java項(xiàng)目名稱。Web項(xiàng)目引用Java項(xiàng)目在項(xiàng)目Properties中,選擇Java Build Path頁(yè)面的Projects選項(xiàng)卡,增加被引用的Java項(xiàng)目。在項(xiàng)目Properties中,選擇Deployment Assemble頁(yè)面,增加一個(gè)新的Project

36、,選擇被引用的Java項(xiàng)目。Android項(xiàng)目引用Java項(xiàng)目在項(xiàng)目Properties中,選擇Java Build Path頁(yè)面的Projects選項(xiàng)卡,增加被引用的Java項(xiàng)目,在Order and Output選項(xiàng)卡,在被引用的Java項(xiàng)目名稱前打鉤。Web項(xiàng)目引用Java項(xiàng)目在項(xiàng)目Properties中,選擇Java Build Path頁(yè)面的Projects選項(xiàng)卡,增加被引用的Java項(xiàng)目。在項(xiàng)目Properties中,選擇Deployment Assemble頁(yè)面,增加一個(gè)新的Project,選擇被引用的Java項(xiàng)目。Android項(xiàng)目引用Java項(xiàng)目在項(xiàng)目Properties中,

37、選擇Java Build Path頁(yè)面的Projects選項(xiàng)卡,增加被引用的Java項(xiàng)目,在Order and Output選項(xiàng)卡,在被引用的Java項(xiàng)目名稱前打鉤。Java透視圖包瀏覽器視圖Package ExplorerJava編輯器Java編輯器是文本編輯器的一個(gè)擴(kuò)展,提供了一系列專門針對(duì)Java開發(fā)的專業(yè)功能。包括語(yǔ)法加亮、代碼輔助、代碼格式化、調(diào)試交互等等功能。下圖為Java編輯器的界面構(gòu)成。JDT提供的源代碼輔助功能JDT提供的源代碼輔助功能基本上位于菜單Source中,大概可以分成下面幾類:注釋的管理,包括:自動(dòng)建立注釋,添加注釋,刪除注釋,添加塊注釋。代碼的格式化,最常用的就是

38、對(duì)整篇代碼重新整理。對(duì)Import的管理,自動(dòng)加入Import,整理Import等等。繼承、重載相關(guān)的源代碼輔助功能。塊代碼的輔助,加入try catch建立異常捕捉。建立文本的國(guó)際化。編輯源代碼快速修正Java 編輯器提供了對(duì)輸入時(shí)和編譯后發(fā)現(xiàn)的問(wèn)題的更正。為了顯示有可用于問(wèn)題或警告的更正建議,編輯器的注釋欄將顯示“燈泡”。左鍵單擊燈泡或調(diào)用 Ctrl+1(編輯 快速修正)將在光標(biāo)位置處顯示對(duì)問(wèn)題的建議。 編輯源代碼自動(dòng)生成 Getter 和 Setter編輯源代碼使用字段生成構(gòu)造函數(shù)快捷鍵設(shè)置快捷鍵的設(shè)置方法是選擇“Window”“Preferences”菜單命令,打開對(duì)話框,單擊“Gen

39、eral”“keys”選項(xiàng)進(jìn)行設(shè)置,設(shè)置上下文提示功能“Content Assist”快捷鍵如圖所示。導(dǎo)入語(yǔ)句在代碼編寫的過(guò)程中,開發(fā)人員往往會(huì)忘記或漏掉需要引用的類,這時(shí),Java編輯器的導(dǎo)入功能就發(fā)揮了作用??梢允褂每旖萱I“Ctrl+Shift+O”以快速引入程序中所需類文件。例如,以下代碼中需要引入java.util.List類文件,但是程序當(dāng)中沒(méi)有使用import語(yǔ)句引用該類,這樣就會(huì)造成編譯錯(cuò)誤。public class test public static void main(String args)List list;導(dǎo)入語(yǔ)句使用快捷鍵“Ctrl+Shift+O”,出現(xiàn)下圖對(duì)話框

40、,選擇所需引入的類文件,選擇ImportList(java.util)選項(xiàng),如圖所示,實(shí)現(xiàn)引入功能。 光標(biāo)位置歷史記錄Java編輯器還提供了類似瀏覽器的“前進(jìn)”、“后退”功能,可以跳轉(zhuǎn)到上一次、或者后一次光標(biāo)曾經(jīng)定位的位置,也可以跳轉(zhuǎn)到上一次曾經(jīng)編輯的位置。JDT中的Java項(xiàng)目管理開發(fā)人員除了能用Eclipse提供的Package視圖來(lái)管理Java項(xiàng)目外,還要了解項(xiàng)目的真實(shí)文件結(jié)構(gòu)。設(shè)置Java項(xiàng)目的屬性在項(xiàng)目的開發(fā)過(guò)程中,有時(shí)需要對(duì)項(xiàng)目的基本設(shè)置進(jìn)行修改,或者需要對(duì)項(xiàng)目作更多的設(shè)置。選擇項(xiàng)目節(jié)點(diǎn),然后點(diǎn)鼠標(biāo)右鍵,彈出快捷菜單,選擇 Properties,便進(jìn)入項(xiàng)目屬性的設(shè)置。 Eclips

41、e高級(jí)Java開發(fā)技術(shù)前面介紹了Eclipse JDT的基本應(yīng)用。Eclipse JDT提供了豐富的輔助功能提升編寫代碼的效率:優(yōu)化包的導(dǎo)入、代碼美化、代碼提示、自動(dòng)補(bǔ)全、方法的重載輔助、建立getter、setter、建立委派模式、對(duì)類的成員進(jìn)行排序等等。下面將講述更多的高級(jí)功能。這些高級(jí)功能包括:項(xiàng)目的運(yùn)行調(diào)試,代碼的重構(gòu),以及其他輔助開發(fā)功能。 運(yùn)行和調(diào)試運(yùn)行Java程序:點(diǎn)擊工具欄上Run按鈕的下拉箭頭,在下拉菜單中選擇Run as-Java Application。設(shè)置調(diào)試斷點(diǎn)設(shè)置斷點(diǎn)很簡(jiǎn)單,在Java編輯器左側(cè)的信息欄上雙擊,就可以設(shè)置斷點(diǎn)。Java程序調(diào)試實(shí)例調(diào)試“求N的階乘”J

42、ava程序,N=1000時(shí)程序結(jié)果錯(cuò)誤。當(dāng)N為多少時(shí),int類型和double類型的“N!程序”出現(xiàn)了錯(cuò)誤?Java程序調(diào)試實(shí)例Java程序調(diào)試實(shí)例代碼重構(gòu)功能重構(gòu),即改善現(xiàn)有代碼的設(shè)計(jì),在不改變代碼外部行為的情況下修改原代碼。重構(gòu)支持的目標(biāo)是改進(jìn)代碼而不改變其行為。代碼重構(gòu)功能可以快速地修改軟件代碼?!昂玫奈恼率歉某鰜?lái)的” “好的軟件也是改出來(lái)的”。軟件開發(fā)是一個(gè)不斷探索、不斷嘗試的過(guò)程,軟件中不完善的地方經(jīng)常需要進(jìn)行重構(gòu)調(diào)整。Eclipse為軟件代碼的重構(gòu)提供了大量便捷的功能。包括有:重命名、抽取方法、移動(dòng)、內(nèi)聯(lián)功能、更改方法特征符等代碼結(jié)構(gòu)級(jí)別的重構(gòu)。Eclipse中的重構(gòu)類型選擇源代碼

43、后,可以看到Eclipse的菜單欄出現(xiàn)了Refactor的子菜單Eclipse中的JDT具有自動(dòng)管理重構(gòu)的功能。重構(gòu)主要分以下幾類:(1)重新命名元素以及改變代碼的物理結(jié)構(gòu),包括對(duì)屬性、變量、類以及接口重新命名。(2)移動(dòng)包和類等。(3)改變類一級(jí)的代碼邏輯結(jié)構(gòu),包括將匿名類轉(zhuǎn)變?yōu)榍短最?,將嵌套類轉(zhuǎn)變?yōu)轫敿?jí)類,根據(jù)具體的類創(chuàng)建接口,從一個(gè)類中將方法或者屬性移到子類或者父類中。(4)改變一個(gè)類的內(nèi)部代碼,包括將局部變量變成類屬性,將某個(gè)方法中被選中部分變成一個(gè)獨(dú)立的方法,以及為屬性生成getter和setter方法。類重命名類的重命名不是簡(jiǎn)單地修改文件名或者類的名稱就可以了,類的名稱一旦修改,其

44、他關(guān)聯(lián)了或者應(yīng)用了這個(gè)類的代碼也要作相應(yīng)修改。Eclipse提供的重構(gòu)功能可以自動(dòng)幫你完成這些修改工作。首先選擇要修改的類,然后選擇菜單Refactor-Rename,或者按右鍵,彈出快捷菜單,選擇Refactor-Rename。包重命名包的重命名和修改類名的操作一樣,也是先選擇要修改的包,然后選擇菜單Refactor-Rename。類屬性和方法重命名修改屬性名或者方法名可以直接在Java 源代碼編輯器中執(zhí)行。把光標(biāo)定位在屬性變量名上,按鼠標(biāo)右鍵,彈出快捷菜單,選擇Refactor-name。類屬性和方法重命名抽取抽象類和接口首先選擇要修改的類,然后選擇菜單Refactor- Extract

45、Interface,或者按右鍵,彈出快捷菜單,選擇Refactor-Extract Interface。遷移屬性或方法到父類在MoneyImplement類中添加一個(gè)方法getName()。為了遷移方法到父類,如下圖操作。public String getName()return ;提取匿名類程序開發(fā)初期,為了開發(fā)方便,經(jīng)常會(huì)使用匿名類。隨著程序的修改,要求的功能增強(qiáng),匿名類中的代碼可能隨之增多;或者某個(gè)匿名類中的功能需要做成可重用的類。這時(shí)候就可以考慮把匿名類提取出來(lái),建立成獨(dú)立的類了。把內(nèi)建類變成頂級(jí)類JDT可以識(shí)別匿名類所需要的變量或者屬性,建立內(nèi)建類的時(shí)候,會(huì)建立對(duì)應(yīng)的構(gòu)造方法。但是這

46、里需要的不是一個(gè)內(nèi)建類,而是一個(gè)獨(dú)立的頂級(jí)類。那么就可以在建立了內(nèi)建類的基礎(chǔ)上再進(jìn)一步,把內(nèi)建類變成頂級(jí)類。方法重載輔助面向?qū)ο箝_發(fā)中,重載方法是經(jīng)常需要做的工作。JDT提供了重載的向?qū)?,可以方便快捷地?shí)現(xiàn)重載。對(duì)類成員進(jìn)行排序代碼在經(jīng)過(guò)不斷的修改,不斷地加入各種字段變量、屬性、方法后,往往會(huì)變得比較混亂。雖然Eclipse中有JDT提供的概覽視圖,可以快速地定位到指定的對(duì)象上。但還是要考慮一下不依賴工具時(shí)候,也能方便地閱讀源代碼。堅(jiān)持“代碼即文檔”的原則,盡量讓文檔便于閱讀。JDT提供了一個(gè)對(duì)類成員進(jìn)行排序的功能,讓字段變量、屬性、方法按照指定的順序排列,方便閱讀。建立trycatch塊捕捉

47、異常也是Java開發(fā)中經(jīng)常要處理的問(wèn)題。匿名類轉(zhuǎn)換為嵌套類實(shí)例該重構(gòu)可以將匿名類轉(zhuǎn)換為嵌套類(內(nèi)部類)。該重構(gòu)只在Java文件內(nèi)部使用。(1)為了說(shuō)明該重構(gòu)功能,編寫代碼如下,該匿名類只有一個(gè)方法,用于將輸入?yún)?shù)輸出到控制臺(tái)。/匿名類聲明為Object的對(duì)象Object obj = new Object() public void doprint(String param)System.out.println(param); /注意分號(hào)不要忘記匿名類轉(zhuǎn)換為嵌套類實(shí)例(2)將光標(biāo)定位到匿名類的內(nèi)部,右鍵單擊并選擇“Refactor”“Convert Anonymous Class to Nest

48、ed Class”命令,出現(xiàn)將匿名類轉(zhuǎn)換為內(nèi)部類對(duì)話框,如圖所示。 匿名類轉(zhuǎn)換為嵌套類實(shí)例(3)單擊“Preview”預(yù)覽類的改變情況,如下圖所示。匿名類轉(zhuǎn)換為嵌套類實(shí)例(4)單擊“OK”完成將匿名類轉(zhuǎn)換為內(nèi)部類的重構(gòu)。改變后的代碼如下所示。/生成新的嵌套類public final class innerclass public void doprint(String param)System.out.println(param);Object obj = new innerclass();成員類型移至新文件實(shí)例該重構(gòu)可根據(jù)所選成員類型創(chuàng)建新的Java編譯單元,并根據(jù)需要更新所有引用。(1)上

49、例中,將匿名類轉(zhuǎn)換為了嵌套類(內(nèi)部類),本小節(jié)將生成的嵌套類創(chuàng)建為新的Java類文件。嵌套類代碼如下所示:/嵌套類public final class innerclass public void doprint(String param)System.out.println(param);成員類型移至新文件實(shí)例(2)將光標(biāo)定位到嵌套類的內(nèi)部,右鍵單擊并選擇“Refactor”“Convert Member Type to Top Level”命令,則會(huì)出現(xiàn)將成員類型移至新文件對(duì)話框,如圖所示。成員類型移至新文件實(shí)例(3)field name可以不填,直接單擊“Preview”按鈕預(yù)覽。如圖所

50、示。成員類型移至新文件實(shí)例(4)在“Changes to be performed”里選中Create innerclass.java復(fù)選框,單擊“OK”完成將成員類型移至新文件的重構(gòu)。在包資源管理器視圖(Package Explorer)中可以查看到,在包c(diǎn)om.test中增加了innerclass.java文件。如圖所示。上拉實(shí)例上拉就是將字段或方法移至其聲明的類的超類或者(對(duì)于方法)將方法聲明為超類中的抽象類。(1)為了形象說(shuō)明,在com.test包中新建兩個(gè)類文件child.java, parent.java。parent.java類作為child.java類的超類。parent.ja

51、va代碼如下。package com.test;public class parent parent()上拉實(shí)例(2)修改child.java代碼,繼承parent.java。代碼如下。package com.test;public class child extends parent String name; public String getName() return name; public void setName(String name) = name; 上拉實(shí)例(3)將child.java中name屬性、getter/setter方法上拉至parent.java中。將光標(biāo)定位到ch

52、ild.java類的內(nèi)部,右鍵單擊并選擇“Refactor”“Pull Up”,出現(xiàn)上拉對(duì)話框,如圖所示。上拉實(shí)例(4)選中name,getName(),setName(String)復(fù)選框,單擊“Finish”按鈕。查看child.java源文件就會(huì)發(fā)現(xiàn),name屬性、getName()方法、setName(String)方法已經(jīng)消失,parent.java源文件中增加了name屬性、getName()方法、setName(String)方法。代碼如下。package com.test;public class parent String name;parent()public String

53、 getName()return name;public void setName(String name) = name; 抽取方法抽取方法就是創(chuàng)建一個(gè)包含當(dāng)前所選擇的語(yǔ)句或表達(dá)式的新方法,并將選擇替換為對(duì)新方法的引用。此功能對(duì)于清理冗長(zhǎng)、雜亂或過(guò)于復(fù)雜的方法是很有用的,步驟如下。(1)為了說(shuō)明抽取方法的重構(gòu)功能,編寫代碼如下。package com.test;public class test public static void main(String args)String name = 張三;/ 姓名int age = 20;/ 年齡String sex = 男;/ 性別String

54、Buffer sb = new StringBuffer();sb.append(name);sb.append( );sb.append(age);sb.append( );sb.append(sex);System.out.println(sb.toString(); 抽取方法(2)用鼠標(biāo)選中以下代碼。String name = 張三;/ 姓名int age = 20;/ 年齡String sex = 男;/ 性別StringBuffer sb = new StringBuffer();sb.append(name);sb.append( );sb.append(age);sb.appen

55、d( );sb.append(sex);抽取方法(3)右鍵單擊并選擇“Refactor”“Extract Method”,彈出抽取方法對(duì)話框,在“Method name”欄中填寫方法名稱,如圖所示。抽取方法(4)單擊“Preview”按鈕預(yù)覽,如圖所示。抽取方法(5)單擊“OK”按鈕,完成重構(gòu)。代碼如下:package com.test;public class test public static void main(String args)StringBuffer sb = personInfo();System.out.println(sb.toString(); private static StringBuffer personInfo()String name = 張三;/ 姓名int age = 20;/ 年齡String sex = 男

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論