《第1講Java概覽》由會員分享,可在線閱讀,更多相關(guān)《第1講Java概覽(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,單擊此處編輯母版標(biāo)題樣式,*,Java,程序設(shè)計,河南省高等學(xué)校計算機教育研究會統(tǒng)編教材,Java,程序設(shè)計,教材:,Java,的起源及應(yīng)用,有關(guān)面向?qū)ο蟮母拍?Java,語言的特點,Java,程序的組成結(jié)構(gòu),安裝并設(shè)置,Java,開發(fā)平臺(集成開發(fā)環(huán)境簡介),第一章,Java,概覽,Java,語言產(chǎn)生的背景,Java,來自于,Sun,公司一個叫,Green,的項目,:,為家用消費電子產(chǎn)品開發(fā),嵌入式,系統(tǒng),以控制冰箱、電視機等電子產(chǎn)品。,互聯(lián)網(wǎng)成就了,Java,互聯(lián)網(wǎng)的出現(xiàn)使得計算模式由單機時代進入了網(wǎng)絡(luò)時代,網(wǎng)絡(luò)計算模式的一個特點是
2、計算機系統(tǒng)的異構(gòu)性。,Java,正是這樣迎合了互聯(lián)網(wǎng)時代的發(fā)展要求,才使它獲得了巨大的成功。,Java,的應(yīng)用領(lǐng)域,電子政務(wù)、電子商務(wù)、遠程醫(yī)療、遠程教學(xué)、移動通訊、科學(xué)研究等方方面面。,Java,的起源及應(yīng)用,Java,的使用平臺,J2SE(Java 2 Platform,,,Standard Edition),主要用于桌面應(yīng)用軟件的編程。它包含了構(gòu)成,Java,語言基礎(chǔ)和核心的類。,J2EE(Java 2 Platform,,,Enterprise Edition),主要是為企業(yè)級應(yīng)用提供一個服務(wù)器的運行和開發(fā)平臺。它提供了,EJB,、,servlet,、,JSP,、,XML,等許多用于開
3、發(fā)企業(yè)級應(yīng)用的類包。,J2ME(Java 2 Platform,,,Micro Edition),用于在信息家電等資源有限的設(shè)備上進行應(yīng)用程序的開發(fā);,Java Card Platform,用于智能卡上的應(yīng)用程序開發(fā)。以嵌入式系統(tǒng)開發(fā)起家,又憑借,J2ME,和,Java Card Platform,回到嵌入式系統(tǒng)開發(fā)領(lǐng)域。,Java,的使用平臺,有關(guān)面向?qū)ο蟮母拍?對象,世間任何事物(實體)都可看作一個對象,世界是由各種各樣的對象所組成。,類,類是對現(xiàn)實世界中實體的抽象,即類是對一組具有共同特征和行為的對象成員的抽象描述。,面向?qū)ο蟪绦蛟O(shè)計,一種思維方法,以更接近人類處理現(xiàn)實世界問題的自然表示
4、方法。它將圍繞以下幾個主要概念,:,抽象數(shù)據(jù)類型,比如一個學(xué)生對象,.,學(xué)號、姓名、出生年月、,.,類,類是描述對象的,“,基本原型,”,,它定義一種對象所能擁有的數(shù)據(jù)和對象所能完成的操作,在面向?qū)ο蟮某绦蛟O(shè)計中,類是程序的基本單元。,看一下類的示例:,class Student,String,學(xué)號,姓名,;,Date,出生年月,;,.,display(),System.out.println(,學(xué)號,+”“+,姓名,);,.,程序中的對象是類的一個實例,是一個軟件單元,它由一組結(jié)構(gòu)化的數(shù)據(jù)和在其上的一組操作構(gòu)成,。,類,類,子類及繼承,子類是作為另一個類(父類)的擴充或修正所定義的一個類,.
5、,繼承使得子類利用父類中定義的方法和變量就像它們屬于子類本身一樣,.,class Graduate_Student extends Student,String,研究方向,;,String,導(dǎo)師姓名,;,.,display(),.,.,子類及繼承,方法的重載,(,多態(tài)性,),在同一個類中至少有兩個方法用同一個名字,但有不同的參數(shù)。,數(shù)據(jù)封裝,封裝定義程序如何引用對象的數(shù)據(jù),封裝實際,上就是將類的數(shù)據(jù)隱藏起來,以控制用戶對類的修改并設(shè)定訪問數(shù)據(jù)的限制。,方法的覆蓋,在子類中重新定義父類中已有的方法,.,方法的重載及數(shù)據(jù)封裝,“C+”-“,復(fù)雜性和奇異性”,+“,安全性和可移植性”,面向?qū)ο?完全
6、面向?qū)ο蟮木W(wǎng)絡(luò)編程語言,支持代碼的繼承和重用。,簡單性,與其起源有關(guān)。,Java,風(fēng)格類似于,C+,。它略去運算符重載、多重繼承等模糊的概念。摒棄了,C+,中容易發(fā)生錯誤的地方。垃圾內(nèi)存回收機制。,分布式,數(shù)據(jù)分散在網(wǎng)絡(luò)中的不同主機上(數(shù)據(jù)分布)。,計算也可分散在不同主機上處理(操作分布)。,Java,的特點,平臺無關(guān)性(結(jié)構(gòu)中立),Java,源程序被編譯成中間文件格式(,Byte-code,),與機器無關(guān);在,Java,虛擬機,(JVM-Java Virtual Machine),上運行。實現(xiàn)程序員夢寐以求的“一次編程、到處運行”(,Write once,run any where,)。,R
7、untime System,Java,interpreter,Just-in-time,compiler,Operating System,Hardware,不同的操作系統(tǒng)有不同的虛擬機,.,它類似一個小巧而高效的,CPU.,byte-code,代碼是與平臺無關(guān)的是虛擬機的機器指令,.Java,字節(jié)代碼運行的兩種方式,:,interpreter(,解釋方式,),Just-in-time(,即時編譯,):,有代碼生成器將字節(jié)代碼轉(zhuǎn)換成本機的機器代碼,然后可以以較高速度執(zhí)行,.,平臺無關(guān)性,安全性,一個安全的網(wǎng)絡(luò)至少要防止以下幾種破壞的可能性,:,毀滅系統(tǒng)資源、消耗系統(tǒng)資源、挖掘系統(tǒng)或個人機密、騷
8、擾正常工作的進行。,Java,源程序,(.java,文件,),Java,編譯器,Java Bytecode,(.class,文件,),Bytecode,載入器,Bytecode,解釋器,系統(tǒng)執(zhí)行,Bytecode,檢查,限定對象的存取權(quán)限,系統(tǒng)堆棧溢出參數(shù)類型一致,程序執(zhí)行系統(tǒng),WWW,瀏覽器限制,Java,小應(yīng)用程序的不正當(dāng)使用,安全性,多線程、高性能,C,和,C+,采用單線程結(jié)構(gòu),,Java,采用了多線程,可在一個程序里同時執(zhí)行多個小任務(wù),帶來更好的性能和實時控制能力。,盡管,Java,是一種解釋性的語言,但,Java,的字節(jié)代碼很容易轉(zhuǎn)換成對應(yīng)于特定,CPU,的機器指令代碼,效率很高。,
9、多線程、高性能,Java,程序結(jié)構(gòu),Java,程序分類,Java,應(yīng)用程序(,Application,),控制臺程序,(Console Application Program),窗口程序,(Window Application Program),Java,小應(yīng)用程序(,Applet,),放在網(wǎng)絡(luò)的服務(wù)器上,嵌入到,WWW,頁面中,運行在瀏覽器中(,IE,、,Netscape Navigator,)。不能單獨運行,使用,GUI,、不能存取本地文件。,Java,程序的特點,Java,程序總是由一些類組成。在每個程序中可以有多個類但至少必須有一個類。,一般把每個類的程序代碼放入一個單獨的程序文件中,
10、文件名一般和其中定義的類名相一致;如果是一個包含,main(),的可運行程序,則文件名必須和其中定義的類名相一致。,源程序文件必須使用擴展名,.java,。,源程序的編寫,用任一種文本編輯器(純文本格式),如,Edit,、記事本(,NotePad,)等都可以編輯源程序。,Java,程序的特點,/*,*,該程序的名字是:,myFirstProg.java,*,它的功能是在屏幕上顯示,:,我的第一個,Java,程序,!,*/,import java.lang.*;,public class myFirstProg,public static void main(String args),Syste
11、m.out.println(,我的第一個,Java,程序,!);,一個簡單的,Java,應(yīng)用程序,main(),方法應(yīng)當(dāng)出現(xiàn)在一個被定義成,public,的類中。,Java,中,字母的大小寫是敏感的,,main(),與,Main(),不是同一個方法。,Java,源文件的文件主名應(yīng)與,main(),方法所在,public,類名完全一致,包括大小寫字母。,源文件的后綴只能是,.java,。,Java,應(yīng)用程序中可以有多個類,每個類中也可以有多個方法,但最先執(zhí)行的是,main(),方法。,幾點注意事項:,Applet,小應(yīng)用程序,/*,*,該程序的名字是:,myFirstApplet.java,*,
12、它的功能是在屏幕指定的位置上顯示,:,*,我的第一個,Java Applet,應(yīng)用,!,*/,import java.applet.*;,import java.awt.*;,public class myFirstApplet extends Applet,public void paint(Graphics g),g.drawString(“,我的第一個,Java Applet,應(yīng)用,!”,10,50);,嵌入上述,Applet,程序的,.html,文件,我的第一個,Java Applet,應(yīng)用,!,幾點注意事項:,小應(yīng)用程序不能單獨運行,一般被嵌入到網(wǎng)頁文件中,由,Java,使能的瀏覽器
13、裝入執(zhí)行。,小應(yīng)用程序類是,Applet,類的派生類。,A,pplet,本身是一個容器,因此任何輸出都必須用,paint(),;,paint,方法的參數(shù)是,Graphics,類的對象,g,,它在,java.awt,類包內(nèi),該類提供了繪制字符、圖形和圖像的方法。,Java,運行環(huán)境及開發(fā)平臺,JSDK(Java Software Development Kit),是最基本的開發(fā)工具。可到,J,免費下載。,RAD,(,Rapid Application Development,),是基于,GUI,(,Graphics User Interface,)的快速開發(fā)工具。,Jbuilder,Java,集
14、成開發(fā)環(huán)境的王國,它滿足很多方面的應(yīng)用,尤其是對于服務(wù)器方以及,EJB,開發(fā)。,Jcreator,一個非常實用的工具,比較小,原因是它本身不帶,JSDK,,所以在安裝,JCreator,之前,必須保證計算機上已經(jīng)安裝了,JSDK,。,可到,http:/,服務(wù)器下載,目前國內(nèi)有提供對應(yīng)的漢化版本。,下載安裝軟件包,安裝,查看安裝目錄結(jié)構(gòu),設(shè)置運行環(huán)境變量,對于,Windows2000,和,WinXP,系統(tǒng):,打開,“,我的電腦,”,“,屬性,”,“,高級,”,“,環(huán)境變量,”,“,系統(tǒng)變量,”,“,新建,”,,在對話窗口:,變量名欄中輸入:,CLASSPATH,變量值欄中輸入:,C:j2sdk1
15、.4.0libdt.jar,;,C:j2sdk1.4.0libtools.jar;C:j2sdk1.4.02bin,同樣,再設(shè)置,“,PATH,”,變量,重新啟動機器,安裝,JSDK,并配置運行環(huán)境,Java,編譯器,javac.exe,格式:,javac,sourceFileName.java,功能:,j,avac,用于將源程序代碼,(.java),文件編譯成字節(jié)代碼,(.class),文件。,例:編譯,java,源程序,myFirstProg.java,javac,myFirstProg.java,Java,解釋器,java.exe,格式:,java,classFileName,功能:,運
16、行編譯后的字節(jié)碼類文件程序。,例:運行類文件,myFirstProg.class,java,myFirstProg,注意,:,運行的類文件名不需要帶,.class,擴展名。,JSDK,開發(fā)工具的使用,Applet,瀏覽器,Appletviewer.exe,格式:,appletviewer,htmlFileName.html,功能,:,用于瀏覽,HTML,文檔。,例:運行我們前邊的小應(yīng)用程序,myFirstApplet:,先編譯,Java,源文件為字節(jié)碼類文件:,javac,myFirstApplet.java,再用瀏覽器運行嵌入了小應(yīng)用程序的,firstapplet.html,網(wǎng)頁文件:,appletviewer,firstapplet.html,注意:,HTML,文檔文件的擴展名,.html,必須帶上。,開發(fā)工具,Jcreator,開發(fā)環(huán)境,Jcreator,是一個非常實用的開發(fā)工具,它本身不帶,JDK,,所以比較小。因此在安裝,JCreator,之前,必須保證計算機上已經(jīng)安裝了,JDK,。,可到,http:/,服務(wù)器下載該工具,目前國內(nèi)有提供對應(yīng)的漢化版本。,安裝,Jcreator