當前位置:才華齋>計算機>java語言>

java應用程序的基本框架

java語言 閲讀(7.91K)

引導語;Java的主要工作是通過編程語言來製作互聯網頁面、製作動態效果以及網站等技術。以下是本站小編分享給大家的java應用程序的基本框架,歡迎參考學習!

java應用程序的基本框架

  1Java應用程序的運行環境

Java應用程序是指可以獨立運行在Java虛擬機上的程序,它是一種中間代碼(byte-code?copy;。比如你的應用程序叫,程序裏有一個名稱為app1的類,用Javac或其它編譯器,編譯後將會生成s,則在命令行狀態下輸入:javaapp1就可以運行此程序。注意,用java命令運行的類必須有main函數,否則不能執行。與普通java應用程序不同的另一種另一種Java程序叫JavaApplet。我們把它譯成Java小程序,這種程序後綴也是s,但它不能直接在java虛擬機上運行,也就是輸入java*s不能運行,這種程序裏可以沒有main函數,它必須由某個瀏覽器來運行,比如Appletviewer或Netscape2.02以上等。這種程序我們將在後面章節中介紹。

  2最簡單的Java程序解釋

讓我們來看一看最簡單的Java應用程序例子,來理解一下它的結構:Filename:classmyfirst{publicstaticvoidmain(Stringargs[]){,println("ThisismyfirstJavaApplication");}}這就是一個完整的Java應用程序,將它編譯:在當前目錄下,它將生成s文件,Javamyfirst屏幕上將會輸出:ThisismyfirstJavaApplication讓我們來一步一步分析每句話含義(1?copy;classmyfirst這一行用關鍵詞class來定義名為myfirst的新類,myfirst是新類的名稱,必須是一個有效的標識符,有效標識符定義請見程序設計基礎章節。類的説明包括數據説明和成員函數説明,都放在類後面的大括號裏面。一般類定義如下:class類名稱{數據定義;函數定義;}

(2)publicstaticvoidmain(Stringargs[])public是一個表示訪問權限的關鍵字,表示此成員函數是公有的,可以被其他類直接調用,包括java解釋器。相對應的關鍵字有private和protected,friend。private表示只能被本類訪問,protected表示只能被子類訪問,friend是缺省的訪問權限,表示能被本包(package)中任意類訪問,對其它包中的類是不可訪問的。

static表示main成員函數在myfirst類的所有對象中是唯一的,因此如果本程序生成另一個myfirst類對象,調用的main函數將是同一個函數。void表示main函數沒有返回值,如果有返回類型值,則可加上interger或boolean諸如此類,對於有返回值的函數,其函數實體的最後應加上return語句。main這個函數是這運行應用程序的入口點,因此編寫應用程序是必須有main()函數,且是唯一的。(3?copy;tln一句這一句是main函數裏的.功能語句,是調用Java裏System包裏的out類的println成員函數,是標準輸入輸出。

3Java應用程序參數的傳遞

Java語言很類似C和C++語言。在C語言裏,通過在命令行輸入參數,C程序可由main函數讀入這?copy;參數,java程序也一樣,請看下面程序:Filename:classMy2{publicstaticvoidmain(Stringargs[]){intarc=th;if(arc>0){for(inti=0;i){m=newMemo(args[0]);}else{m=newMemo();}t();}}將Frame聯繫起來l熟悉的函數paint()和mouseDown(),看起來有點眼熟。這?copy;函數與applet的函數一樣。實際上,一個frame包含各種GUI組件與applet的形式一樣。另一個熟悉的函數是start()。這個函數並不必要,因為我們沒有覆蓋任何已存在的函數。但你想繼承applet編程的風格,你還是可以使用start(),stop(),init()與destroy()等函數。l新函數我們熟悉的函數start()調用了show()。show()函數是Window類的繼承,它顯示Fame及其所有組件。在mouseDown()函數裏我們看到兩個函數:hide()和dispose()。hide()只簡單地使Frame不可見。你可以在任何時候調用它來隱藏窗口。dispose()函數釋放由Frame佔有的系統資源。只有在你不需要Frame時才調用它。

構造函數Memo例子還包含了一個新函數Memo()。其實這個類有兩個Memo()函數!任何與類名相同的函數都是構造函數。它在創建一個新對象時被調用。你可以認為它是一個對象的init()初始化函數。為什麼需要兩個構造函數呢?有了兩個構造函數,我們可以利用多態性的優點,有兩種方法創建一個新Memo對象。我們可以簡單的創建使用缺省信息的Memo對象:m=newMemo();或者,我們可以自己提?copy;信息:m=newMemo("Ourmessage");Frame控制本程序的最後功能是在main()裏建立並顯示frame。它由以下兩步實現://Step1m=newMemo();//t();第一步初始化memo對象。我們象操作其它對象一樣操作m。為顯示frame,我們需要調用show()。這在第二步裏實現。另一個要注意的是程序的健壯性:我們基本的frame裏沒有包含處理標準WINDOW_DESTROY消息的函數。這樣,你將不能在窗口的控制菜單裏選中"Quit"或"Exit"。為了增加這個功能,你需要增加以下的處理程序:publicbooleanhandleEvent(Evente){if(==OW_DESTROY){dispose();(1);returntrue;}else{//leEvent(e);}}

菜單圖形界面依靠菜單來指導用户操作。設計獨立的Java應用程序時,Java提?copy;創建和使用菜單的直接方法。象其它組件一樣,new將創建一個菜單:MenuoptionMenu;optionsMenu=newMenu("Options");菜單項一?copy;你創建了一個菜單,你可以使用add()來組建菜單項:(newMenuItem("Option1");(newMenuItem("Option2");菜單事件當你選中某個菜單項時,你創建此菜單項的字符?reg;將在事件中返回。你可以象測試按鈕選擇一樣測試菜單選擇:publicbooleanaction(Evente,Objectarg){(etinstanceofMenuItem){tln((String)arg);}...}其它菜單項除了上面描述的簡單菜單項外,你還可增加CheckBox菜單項,分割線,以及子菜單。下面是一?copy;例子:Menum,n;m=newMenu("Examples");(newMenuItem("Basic"));(newMenuItem("Simple"));

//(newMenuItem("-"));//(newCheckboxMenuItem("Check"));//addasubmenun=newMenu("MoreExamples");(newMenuItem("SubBasic"));(newMenuItem("SubSimple"));(n);菜單條你創建好菜單後,你應將?reg;放在應用程序的菜單條上:mb=newMenubar();(m);(optionsMenu);然後你可為applet設置菜單條:setMenuBar(mb);