關燈 巨大 直達底部
親,雙擊螢幕即可自動滾動
第4部分

時候。例如,下面一段程式碼在執行時刻會引發OutOfMemoryException異常:classLink{inta''=newint'1000000';Linkl;}ClassOutOfMem

{publicstaticvoidmain(Stringargs''){publicstaticvoidmain(Stringargs''){Linkroot=newlink();Linkcur=root;while(true){cur。l=newLink();cur=cur。l;}}}NoClassDefFoundException如果一個類被引用,但在執行時刻,系統沒有找到被引用的類,這時會引發NoClassDefFoundException(未找到類定義?copy;異常。例如,NoClass

的宣告如下:classNoClass{publicstaticvoidmain(Stringargs''){Cc=newC();}}當NoClass執行時,如果直譯器找不到C類,則會產生NoClassDefFoundException。注意,在NoClass被編譯時C類一定要存在。

InpatibleTypeException如果試圖為一介面作例項,則會引發InpatibleTypeException(型別不相容?copy;異常。例如,下面的程式碼會引發一個InpatibleTypeException。InterfaceI{}classInpType{publicstaticvoidmain(Stringargs''){Ir=(I)new(”I”);}}ArrayIndexOutOfBoundsException試圖訪問陣列中的一個非法元素時,會引發ArrayIndexOutOfBoundsException(陣列索引越界?copy;異常。例如:ClassArrayOut{publicstaticvoidmain(Stringargs''){inta''=newint'0';a'0'=0;}}publicstaticvoidmain(Stringargs''){inta''=newint'0';a'0'=0;}}UnsatisfiedLinkException如果一個方法被宣告為本機,但該方法在執行時刻卻不能連線到一個例程體上去時,會產生UnsatisfiedLinkException(無法連線?copy;異常。例如:ClassNoLink{staticnativevoidfoo();publicstaticvoidmain(Stringargs''){foo();}}InternalExceptionInternalException(內部?copy;異常是不能被引發的。只有在執行失敗作一致性檢查時,才會引發這個異常。

本章小結

1。Java語言的基本結構象C/C++。2。Java語言的源程式程式碼由一個或多個編譯單元(pilationunit)組成。

第四章Java應用程式的基本框架

學習一門新語言最好是先看幾個簡單的程式例子。下面我們將看到幾個非常基本的程式例子。

4。1Java應用程式的執行環境

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

4。2最簡單的Java程式解釋

讓我們來看一看最簡單的Java應用程式例子,來理解一下它的結構