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