- 相關(guān)推薦
java應(yīng)用程序的基本框架
引導(dǎo)語(yǔ);Java的主要工作是通過(guò)編程語(yǔ)言來(lái)制作互聯(lián)網(wǎng)頁(yè)面、制作動(dòng)態(tài)效果以及網(wǎng)站等技術(shù)。以下是百分網(wǎng)小編分享給大家的java應(yīng)用程序的基本框架,歡迎參考學(xué)習(xí)!
1Java應(yīng)用程序的運(yùn)行環(huán)境
Java應(yīng)用程序是指可以獨(dú)立運(yùn)行在Java虛擬機(jī)上的程序,它是一種中間代碼(byte-code?copy;。比如你的應(yīng)用程序叫my.java,程序里有一個(gè)名稱為app1的類,用Javac或其它編譯器,編譯后將會(huì)生成app1.class,則在命令行狀態(tài)下輸入:javaapp1就可以運(yùn)行此程序。注意,用java命令運(yùn)行的類必須有main函數(shù),否則不能執(zhí)行。與普通java應(yīng)用程序不同的另一種另一種Java程序叫JavaApplet。我們把它譯成Java小程序,這種程序后綴也是.class,但它不能直接在java虛擬機(jī)上運(yùn)行,也就是輸入java*.class不能運(yùn)行,這種程序里可以沒有main函數(shù),它必須由某個(gè)瀏覽器來(lái)運(yùn)行,比如Appletviewer或Netscape2.02以上等。這種程序我們將在后面章節(jié)中介紹。
2最簡(jiǎn)單的Java程序解釋
讓我們來(lái)看一看最簡(jiǎn)單的Java應(yīng)用程序例子,來(lái)理解一下它的結(jié)構(gòu):Filename:1.javaclassmyfirst{publicstaticvoidmain(Stringargs[]){System.out,println(\"ThisismyfirstJavaApplication\");}}這就是一個(gè)完整的Java應(yīng)用程序,將它編譯:Javac1.java在當(dāng)前目錄下,它將生成myfirst.class文件,Javamyfirst屏幕上將會(huì)輸出:ThisismyfirstJavaApplication讓我們來(lái)一步一步分析每句話含義(1?copy;classmyfirst這一行用關(guān)鍵詞class來(lái)定義名為myfirst的新類,myfirst是新類的名稱,必須是一個(gè)有效的標(biāo)識(shí)符,有效標(biāo)識(shí)符定義請(qǐng)見程序設(shè)計(jì)基礎(chǔ)章節(jié)。類的說(shuō)明包括數(shù)據(jù)說(shuō)明和成員函數(shù)說(shuō)明,都放在類后面的大括號(hào)里面。一般類定義如下:class類名稱{數(shù)據(jù)定義;函數(shù)定義;}
(2)publicstaticvoidmain(Stringargs[])public是一個(gè)表示訪問(wèn)權(quán)限的關(guān)鍵字,表示此成員函數(shù)是公有的,可以被其他類直接調(diào)用,包括java解釋器。相對(duì)應(yīng)的關(guān)鍵字有private和protected,friend。private表示只能被本類訪問(wèn),protected表示只能被子類訪問(wèn),friend是缺省的訪問(wèn)權(quán)限,表示能被本包(package)中任意類訪問(wèn),對(duì)其它包中的類是不可訪問(wèn)的。
static表示main成員函數(shù)在myfirst類的所有對(duì)象中是唯一的,因此如果本程序生成另一個(gè)myfirst類對(duì)象,調(diào)用的main函數(shù)將是同一個(gè)函數(shù)。void表示main函數(shù)沒有返回值,如果有返回類型值,則可加上interger或boolean諸如此類,對(duì)于有返回值的函數(shù),其函數(shù)實(shí)體的最后應(yīng)加上return語(yǔ)句。main這個(gè)函數(shù)是這運(yùn)行應(yīng)用程序的入口點(diǎn),因此編寫應(yīng)用程序是必須有main()函數(shù),且是唯一的。(3?copy;System.out.println一句這一句是main函數(shù)里的功能語(yǔ)句,是調(diào)用Java里System包里的out類的println成員函數(shù),是標(biāo)準(zhǔn)輸入輸出。
3Java應(yīng)用程序參數(shù)的傳遞
Java語(yǔ)言很類似C和C++語(yǔ)言。在C語(yǔ)言里,通過(guò)在命令行輸入?yún)?shù),C程序可由main函數(shù)讀入這?copy;參數(shù),java程序也一樣,請(qǐng)看下面程序:Filename:2.javaclassMy2{publicstaticvoidmain(Stringargs[]){intarc=args.length;if(arc>0){for(inti=0;i){m=newMemo(args[0]);}else{m=newMemo();}m.start();}}將Frame聯(lián)系起來(lái)l熟悉的函數(shù)paint()和mouseDown(),看起來(lái)有點(diǎn)眼熟。這?copy;函數(shù)與applet的函數(shù)一樣。實(shí)際上,一個(gè)frame包含各種GUI組件與applet的形式一樣。另一個(gè)熟悉的函數(shù)是start()。這個(gè)函數(shù)并不必要,因?yàn)槲覀儧]有覆蓋任何已存在的函數(shù)。但你想繼承applet編程的風(fēng)格,你還是可以使用start(),stop(),init()與destroy()等函數(shù)。l新函數(shù)我們熟悉的函數(shù)start()調(diào)用了show()。show()函數(shù)是Window類的繼承,它顯示Fame及其所有組件。在mouseDown()函數(shù)里我們看到兩個(gè)函數(shù):hide()和dispose()。hide()只簡(jiǎn)單地使Frame不可見。你可以在任何時(shí)候調(diào)用它來(lái)隱藏窗口。dispose()函數(shù)釋放由Frame占有的系統(tǒng)資源。只有在你不需要Frame時(shí)才調(diào)用它。
構(gòu)造函數(shù)Memo例子還包含了一個(gè)新函數(shù)Memo()。其實(shí)這個(gè)類有兩個(gè)Memo()函數(shù)!任何與類名相同的函數(shù)都是構(gòu)造函數(shù)。它在創(chuàng)建一個(gè)新對(duì)象時(shí)被調(diào)用。你可以認(rèn)為它是一個(gè)對(duì)象的init()初始化函數(shù)。為什么需要兩個(gè)構(gòu)造函數(shù)呢?有了兩個(gè)構(gòu)造函數(shù),我們可以利用多態(tài)性的優(yōu)點(diǎn),有兩種方法創(chuàng)建一個(gè)新Memo對(duì)象。我們可以簡(jiǎn)單的創(chuàng)建使用缺省信息的Memo對(duì)象:m=newMemo();或者,我們可以自己提?copy;信息:m=newMemo(\"Ourmessage\");Frame控制本程序的最后功能是在main()里建立并顯示frame。它由以下兩步實(shí)現(xiàn)://Step1m=newMemo();//Step2m.start();第一步初始化memo對(duì)象。我們象操作其它對(duì)象一樣操作m。為顯示frame,我們需要調(diào)用show()。這在第二步里實(shí)現(xiàn)。另一個(gè)要注意的是程序的健壯性:我們基本的frame里沒有包含處理標(biāo)準(zhǔn)WINDOW_DESTROY消息的函數(shù)。這樣,你將不能在窗口的控制菜單里選中\(zhòng)"Quit\"或\"Exit\"。為了增加這個(gè)功能,你需要增加以下的處理程序:publicbooleanhandleEvent(Evente){if(e.id==Event.WINDOW_DESTROY){dispose();System.exit(1);returntrue;}else{//Goaheadanddowhatwenormallywouldhavedonereturnsuper.handleEvent(e);}}
菜單圖形界面依靠菜單來(lái)指導(dǎo)用戶操作。設(shè)計(jì)獨(dú)立的Java應(yīng)用程序時(shí),Java提?copy;創(chuàng)建和使用菜單的直接方法。象其它組件一樣,new將創(chuàng)建一個(gè)菜單:MenuoptionMenu;optionsMenu=newMenu(\"Options\");菜單項(xiàng)一?copy;你創(chuàng)建了一個(gè)菜單,你可以使用add()來(lái)組建菜單項(xiàng):optionsMenu.add(newMenuItem(\"Option1\");optionsMenu.add(newMenuItem(\"Option2\");菜單事件當(dāng)你選中某個(gè)菜單項(xiàng)時(shí),你創(chuàng)建此菜單項(xiàng)的字符?reg;將在事件中返回。你可以象測(cè)試按鈕選擇一樣測(cè)試菜單選擇:publicbooleanaction(Evente,Objectarg){...if(e.targetinstanceofMenuItem){System.out.println((String)arg);}...}其它菜單項(xiàng)除了上面描述的簡(jiǎn)單菜單項(xiàng)外,你還可增加CheckBox菜單項(xiàng),分割線,以及子菜單。下面是一?copy;例子:Menum,n;m=newMenu(\"Examples\");m.add(newMenuItem(\"Basic\"));m.add(newMenuItem(\"Simple\"));
//addaseparatorm.add(newMenuItem(\"-\"));//addaCheckboxitemm.add(newCheckboxMenuItem(\"Check\"));//addasubmenun=newMenu(\"MoreExamples\");n.add(newMenuItem(\"SubBasic\"));n.add(newMenuItem(\"SubSimple\"));m.add(n);菜單條你創(chuàng)建好菜單后,你應(yīng)將?reg;放在應(yīng)用程序的菜單條上:mb=newMenubar();mb.add(m);mb.add(optionsMenu);然后你可為applet設(shè)置菜單條:setMenuBar(mb);
【java應(yīng)用程序的基本框架】相關(guān)文章:
Java應(yīng)用程序的基本結(jié)構(gòu)12-03
java的三大主流框架12-04
java selenium基本教程04-01
Java類的基本構(gòu)成11-18
Java語(yǔ)言基本概述03-29
Java語(yǔ)言基本特點(diǎn)11-25
Java的Struts框架簡(jiǎn)介與環(huán)境配置步驟04-01
Java代碼的基本知識(shí)03-29