資源描述:
《java語言基礎(chǔ)教學(xué)教程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、.JAVA教程第一講Java語言概述(4)1.2.5java平臺-不斷擴(kuò)展的計(jì)算平臺 java不僅是編程語言,還是一個(gè)開發(fā)平臺,java技術(shù)給程序員提供了許多工具:編譯器、解釋器、文檔生成器和文件打包工具等等。同時(shí)java還是一個(gè)程序發(fā)布平臺,有兩種主要的"發(fā)布環(huán)境",首先java運(yùn)行時(shí)環(huán)境(javaruntimeenvironment,簡稱JRE)包含了完整的類文件包,其次許多主要的瀏覽器都提供了java解釋器和運(yùn)行時(shí)環(huán)境。目前Sun公司把java平臺劃分成J2EE、J2SE、J2ME三個(gè)平臺,針對不同的市場目標(biāo)和設(shè)備進(jìn)行定位。J2EE是Java2Ent
2、erpriseEdition,主要目的是為企業(yè)計(jì)算提供一個(gè)應(yīng)用服務(wù)器的運(yùn)行和開發(fā)平臺。J2EE本身是一個(gè)開放的標(biāo)準(zhǔn),任何軟件廠商都可以推出自己的符合J2EE標(biāo)準(zhǔn)的產(chǎn)品,使用戶可以有多種選擇。IBM、Oracle、BEA、HP等29家已經(jīng)推出了自己的產(chǎn)品,其中尤以BEA公司的weglogic產(chǎn)品和IBM公司的websphare最為著名。J2EE將逐步發(fā)展成為可以與微軟的.NET戰(zhàn)略相對抗的網(wǎng)絡(luò)計(jì)算平臺。J2SE是Java2StandardEdition,主要目的是為臺式機(jī)和工作站提供一個(gè)開發(fā)和運(yùn)行的平臺。我們在學(xué)習(xí)java的過程中,主要是采用J2SE來進(jìn)行開發(fā)
3、。J2ME是Java2MicroEdition,主要是面向消費(fèi)電子產(chǎn)品,為消費(fèi)電子產(chǎn)品提供一個(gè)java的運(yùn)行平臺,使得java程序能夠在手機(jī)、機(jī)頂盒、PDA等產(chǎn)品上運(yùn)行。上述三個(gè)java平臺的關(guān)系1.3一切都是對象1.3.1面向過程. 面向?qū)ο蟮牡谝粋€(gè)原則是把數(shù)據(jù)和對該數(shù)據(jù)的操作都封裝在一個(gè)類中,在程序設(shè)計(jì)時(shí)要考慮多個(gè)對象及其相互間的關(guān)系。有些功能并不一定由一個(gè)程序段完全實(shí)現(xiàn),可以讓其它對象來實(shí)現(xiàn),在本例中就由類Max完成求最大值的功能。而面向?qū)ο蟮牧硗庖粋€(gè)好處是實(shí)現(xiàn)代碼的重復(fù)使用,例如其它的程序中如果需要求最大值的功能,只需要通過類Max的對象就可以達(dá)到
4、目的。但是如果象面向過程的代碼段那樣把求最大值的算法都實(shí)現(xiàn)在該代碼段中,則無法復(fù)用 早期的編程語言如FORTRAN、C基本上都是面向過程的語言,其編程的主要思路專注于算法的實(shí)現(xiàn)。例如下面是一個(gè)面向過程的求正整數(shù)最大值的程序: intmaxSoFar=0,price=1; //最大值maxSoFar的初始值為0,price是輸入的值 while(price>0){ //循環(huán)輸入price的值 if(price>maxSoFar) //輸入的值price大于最大值maxSoFar maxSoFar=price; //則max
5、SoFar的值為price的值 Stringinput=JoptionPane.showInputDialog("Enterthenextprice"); //繼續(xù)輸入price price=Double.parseDouble(input); //把字符串input轉(zhuǎn)換成整數(shù)price } System.out.println("Themaximumis"+maxSoFar);//打印最大值maxSoFar } 該程序段主要實(shí)現(xiàn)了求最大值的算法,但是,如果考慮用面向?qū)ο蟮木幊蹋梢允橇硗庖环N方式: Maxma
6、x=newMax(); //max是類Max的一個(gè)對象 while(price>0){ max.updateMax(price); //對象max調(diào)用updateMax方法,更新最大值 price=max.getPrice();//對象max調(diào)用getPrice獲得下一個(gè)price的值 } System.out.println("Themaximumis"+max.getMax());//對象max調(diào)用getMax 方法獲得最大值,并打印出來1.3.2面向?qū)ο蟆〖兇獾拿嫦驅(qū)ο蟪绦蛟O(shè)計(jì)
7、方法是這樣的: 1.所有的東西都是對象??梢詫ο笙胂蟪蔀橐环N新型變量,它保存著數(shù)據(jù),而且還可以對自身數(shù)據(jù)進(jìn)行操作。例如類Max中保留著數(shù)據(jù)的最大值,同時(shí)還有方法updateMax根據(jù)新加入的price值產(chǎn)生最新的最大值,還有g(shù)etMax方法返回?cái)?shù)據(jù)的最大值。 2.程序是一大堆對象的組合。通過消息傳遞,各對象知道自己應(yīng)該做些什么。如果需要讓對象做些事情,則須向該對象"發(fā)送一條消息"。具體來說,可以將消息想象成為一個(gè)調(diào)用請求,它調(diào)用的是從屬于目標(biāo)對象的一個(gè)方法。例如上面面向?qū)ο蟮某绦蚨螒?yīng)該是屬于某個(gè)類的,比如說是屬于類Shopping,則Shopping中
8、就包含了類Max的對象max,調(diào)用方法updateM