1. 程式人生 > >201711671135 《Java程式設計》第七章學習總結

201711671135 《Java程式設計》第七章學習總結

教材學習內容

1.內部類的外嵌類的成員變數在內部類中任然有效,內部類中的成員方法也可以呼叫外嵌類的方法。內部類的類體中不可以宣告類變數和類方法(類變數、類方法,這個是先於物件存在的,在java類被載入到執行環境中的時候,就存在的了,用static關鍵字修飾的。可以用‘類名.類方法’‘‘類名.類變數’的語法來呼叫。

class Demo{ 

    int x;       //x是例項變數,也是成員變數 

    static

 int y; //y為類變數,也是成員變數     

    public int x() {     //該方法為例項方法,是成員方法 

        return x;   

    } 

   public

 static void setX(int x1){ //該方法為類方法,也是成員方法 

            x = x1;    

   } 

}

內部類對應的位元組碼檔案的名字格式是”外嵌類名$內部類名”

2. 匿名類是不能有名字的類,它們不能被引用,只能在建立時用New語句來宣告它們。匿名類的宣告是在編譯時進行的,例項化在執行時進行,這意味著for迴圈中的一個new語句會建立相同匿名類的幾個例項,而不是建立幾個不同匿名類的一個例項。

①繼承一個類,重寫其方法

②實現一個介面,可以是多個

3.各個catch引數中的異常類都是Exception的某個子類,表表明try部分可能發生的異常,這些子類之間不能有父子關係,否則保留一個含有父類引數的catch即可

Throw可以在方法中宣告具體的異常操作,用相應的異常類建立物件,並使用throw丟擲該異常物件。

4.斷言使用在程式碼除錯階段,用於程式不準備通過捕獲異常來處理的錯誤

使用assert關鍵詞來宣告斷奶眼語句

5. java的異常可以出現在方法除錯中,即在方法呼叫過程中丟擲異常物件,導致程式執行出現異常,並且等待處理。java 使用Try-catch語句來處理異常,將可能出現的異常操作放在try部分,當try的某個方法發生一場之後,try部分將立即結束執行,轉向相應的catch語句部分。

 

教材學習中的問題和解決過程

1.斷言在c語言中也有使用,其使用方法經查詢如下:

assert巨集的原型定義在<assert.h>中,其作用是如果它的條件返回錯誤,則終止程式執行

#include <assert.h>
void assert( int expression );

2.在使用斷言語句中,多次無法執行,後來發現是沒有使用boolean型的表示式

 

 

程式碼實現

package Try_Catch;

 

public class Application {

 

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        int n = 0,m =0,t=100;

        try {

            m = Integer.parseInt("8888");

            n = Integer.parseInt("ab89");//發生異常,轉向catch

            t = 7777;//t 沒有機會賦值

        } catch (Exception e) {

            System.out.println("發生異常:" + e.getMessage());

        }

        System.out.println("n=" + n + ",m="+ m+ ",t=" + t);

        try {

            System.out.println("故意丟擲I/O異常!");

            throw new java.io.IOException("我是故意的");//故意丟擲異常

        } catch (Exception e) {

            System.out.println("發生異常:" + e.getMessage() );

        }

    }

 

}