第01章(Java語言)_第1頁
第01章(Java語言)_第2頁
第01章(Java語言)_第3頁
第01章(Java語言)_第4頁
第01章(Java語言)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Version:2.0Java語言語言CompanyLCompany Logo課程目標課程目標v 軟件工程發(fā)展歷史v 什么是對象v 抽象(分析與設計) v 類是對象的藍圖 v JDK、JRE、JVMv J2EE、J2SE、J2MEv JAVA工作原理v 類的結構v JAVA內存模型v 源文件布局v Java APIv 集成開發(fā)工具(IDE)CompanyLCompany Logo軟件工程的發(fā)展歷史軟件工程的發(fā)展歷史 CompanyLCompany Logo對象對象 v 對象就是我們周圍的各種各樣的事物。例如:衣服、盤子、電腦等 每個對象都有一些狀態(tài)(屬性)。例如:衣服:顏色,長度,面料。貓:名

2、字,情緒,饑餓,。v 有些對象會作出一些行為。例如:貓:名字,情緒,疲勞,饑餓發(fā)怒,玩耍,吃食,睡覺。對象的行為會改變對象的狀態(tài)。例如:玩耍 疲勞=True睡覺 疲勞=False吃食 饑餓=False對象的狀態(tài)會影響對象的行為。例如:if( 饑餓 = False) 吃食 return failure 面向對象的程序設計與我們人類觀察客觀事物的模式相同:用類表示客觀事物,用類中的變量表示事物的屬性,用方法表示事物的行為,屬性與行為相互作用。CompanyLCompany Logo抽象(分析與設計)抽象(分析與設計) v 抽象:抽象:就是對事物的狀態(tài)、行為進行概括、總結、描述。v 軟件開發(fā)過程可分

3、為五個階段:分析、設計、實現、測試、發(fā)布。抽象對應于軟件工程的分析、設計階段。v 分析:分析:就是確定我們開發(fā)的系統想要實現什么。在分析階段可以定義一組操作者,以及系統必須完成的行為。此外,還要定義一組主對象,系統在主對象之間完成操作、行為、交互。行為的描述要足夠詳細。v 設計:設計:就是確定系統如何實現要達到的目標。在設計階段,要生成操作者、行為、主對象的模型。CompanyLCompany Logo類是對象的藍圖v 類是軟件的藍圖v 對象是類的實例v 如同繪圖員可以繪制設備的藍圖,藍圖可以在制造實際設備時使用很多次。你可以用類,來實例化許許多多個別的對象。在類中定義了一套數據元素(屬性)和

4、一套行為(方法)。行為用來操作對象,以及完成相關對象之間的交互。屬性和方法都叫做成員。 CompanyLCompany LogoJDK、JRE、JVMv JDK:即Java Develop Kit,Java開發(fā)工具包v JRE(Java Runtime Environment),即Java運行環(huán)境,通常已包含在J2SDK中了。如果我們僅僅是為了運行Java程序,而不是從事Java開發(fā),我們可以直接下載JRE,在我們的系統上安裝v JVM:Java Virtual Machine,用軟件的方式模擬計算機,它由執(zhí)行引擎、指令集、存儲區(qū)堆棧區(qū)組成,是Java跨平臺的基礎CompanyLCompany

5、 LogoJ2EE、J2SE、J2MEv J2EE:一個規(guī)范,如一個規(guī)范,如JSP、Servlet、JNDI、JTA、JSTL、EJB等等等等,針對企業(yè)應用針對企業(yè)應用v J2SE:一個規(guī)范,如一個規(guī)范,如JavaBean、JDBC,針對桌面應用,針對桌面應用v J2ME:一個規(guī)范,主要針對一個規(guī)范,主要針對PDA、手機移動應用、手機移動應用J2SEJ2EEJ2MECompanyLCompany LogoJava工作原理源文件源文件平臺無關平臺無關javac字節(jié)碼文件字節(jié)碼文件javaClassLoaderCheckLocale Binary程序程序CompanyLCompany LogoJa

6、va工作原理CompanyLCompany Logo類結構 class v :任何合法的標識符。它代表所聲明類的名稱。:任何合法的標識符。它代表所聲明類的名稱。v :暫時只用:暫時只用”public”,含義為:可以被所有,含義為:可以被所有其它類訪問。其它類訪問。v :聲明屬性。也就是說用變:聲明屬性。也就是說用變量表示事物的狀態(tài)。量表示事物的狀態(tài)。v :聲明構造函數。:聲明構造函數。v :聲明方法。:聲明方法。CompanyLCompany Logo屬性、方法v 聲明屬性聲明屬性句法:句法: = ;v 聲明方法聲明方法句法:句法: ( )說明:說明:任何合法的標識符:任何合法的標識符(已經被

7、使用的除外已經被使用的除外)。:可以是:可以是public,private,protected:可以是任何原始類型或其它類。:可以是任何原始類型或其它類。:指明方法返回值的類型。假如方法不返回:指明方法返回值的類型。假如方法不返回 值,應被聲明為值,應被聲明為void。:向方法傳遞參數。傳遞多個參數時,參數:向方法傳遞參數。傳遞多個參數時,參數 之間用逗號分開。每個參數由參數類型和之間用逗號分開。每個參數由參數類型和 標識符組成。標識符組成。CompanyLCompany Logo屬性、方法public class Thingprivate int x;public int getX() re

8、turn x;public void setX(int new_x) x = new_x;類類Thing有一個實例變量有一個實例變量x 。方法。方法getX返回返回x這個數據屬性,方法這個數據屬性,方法getX沒有參數。沒有參數。Return語句反回這個值。方法語句反回這個值。方法setX用參數用參數new_x修改修改x的值,它不返回任何值。的值,它不返回任何值。下面說明如何使用這個方法:下面說明如何使用這個方法:public class TestThingpublic static void main(String args)Thing thing1 = new Thing( );thing

9、1.setX(47);System.out.println(“thing1.x is “ + thing1.getX() );訪問對象的成員訪問對象的成員:thing1.setX(47); 調用者傳遞實調用者傳遞實參參CompanyLCompany Logo構造方法 我們經常要用類來實例化新的對象,一個新對象的初始化的我們經常要用類來實例化新的對象,一個新對象的初始化的最終步驟是去調用一個叫做構造函數的方法。構造函數是一套最終步驟是去調用一個叫做構造函數的方法。構造函數是一套指令,用來初始化類的實例??梢韵驑嬙旌瘮祩鬟f參數,其格指令,用來初始化類的實例??梢韵驑嬙旌瘮祩鬟f參數,其格式與向方法傳

10、遞參數相同。式與向方法傳遞參數相同。 v 構造方法的名字與類名一致v 構造方法沒有顯示的返回值類型public class Thingprivate int x;public Thing( ) x = 47;public Thing(int new_x) x = new_x;默認的構造方法默認的構造方法:每個類至少要有一個構造函數,如果你沒有編每個類至少要有一個構造函數,如果你沒有編寫構造函數,寫構造函數,Java編程語言會為你提供一個默認的構造函編程語言會為你提供一個默認的構造函數。這個構造函數不帶參數,函數體是空的數。這個構造函數不帶參數,函數體是空的 CompanyLCompany Lo

11、go構造方法public class TestThingpublic static void main(String args) int i=10; Thing thing1 = new Thing( ); Thing thing2 = new Thing( 50); thing1.setX(47); System.out.println(“thing1.x is “ + thing1.getX() ); System.out.println(“thing2.x is “ + thing2.getX() ); CompanyLCompany LogoJava內存模型內存模型v堆棧堆棧ithis

12、mainthing1thing2thisStack memoryHeap memory1000880089基本類型的變量存放在棧中,復合類型的對象在堆中創(chuàng)建,棧中存放引用00890088對象對象對象對象CompanyLCompany Logo源文件布局v Java技術源文件的布局:以上條目的順序不能改變。源文件的名字必須與文件中聲明的公有類的名字相同。一個源文件中可以包含多個類,但是最多只能包含一個公有類。 v 軟件包多數軟件系統是龐大的。為了方便管理,通常要將類組織成包。在包中可以存放類,也可以存放子包,從而形成具有層次結構的包。包可以根據需要任意組織,通常,要按照類的用途、含義來組織包。C

13、ompanyLCompany LogoJava API Java API是擴展的是擴展的Java類庫。它為程序員提供了幾千個類,包類庫。它為程序員提供了幾千個類,包括基本的數學函數、數組和字符串、窗口,圖形用戶界面,輸入括基本的數學函數、數組和字符串、窗口,圖形用戶界面,輸入/輸輸出,聯網等任何你需要的內容。類庫被組織成許多包,每個包都包含出,聯網等任何你需要的內容。類庫被組織成許多包,每個包都包含多個類。下面列舉了一些重要的包:多個類。下面列舉了一些重要的包:v java.lang:包含一些形成語言核心的類,如String、Math、Integer和Thread。v java.awt:包含了

14、構成抽象窗口工具包(AWT)的類,這個包被用來構建和管理應用程序的圖形用戶界面。v java.applet:包含了可執(zhí)行applet特殊行為的類。v :包含執(zhí)行與網絡相關的操作的類和處理接口及統一資源定位器(URLs)的類。v java.io:包含處理I/O文件的類。v java.util:包含為任務設置的實用程序類,如隨機數發(fā)生、定義系統特性和使用與日期日歷相關的函數。v Java API文檔詳細說明了Java API的使用方法。Java API文檔是一組等級制布局的HTML文件CompanyLCompany LogoJava IDE Java集成開發(fā)工具,目前比較流行的有:eclipse、Jbuilder、idea、NetBean 具權威機構統計,使用最多的是eclipse,myeclipse是一個集成了多個插件的IDE,它是一個工程化管理的軟件,我們可以在myeclipse中建立java project、web project、ejb project、web service project等,可以在myeclip

溫馨提示

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

評論

0/150

提交評論