1. 程式人生 > >Java(五)-內部類和異常類

Java(五)-內部類和異常類

一、內部類(類中套類)

在一個類中定義另一個類成為內部類
包含內部類的類稱為內部類的外嵌類

內部類和外嵌類的關係:

  • 內部類的外嵌類的成員變數和方法在內部類中有效
  • 內部類不可以宣告類變數和類方法
  • 內部類僅供它的外嵌類使用

注:
內部類對應的位元組碼檔案格式是“外嵌類名$內部類名”
內部類可以被修飾為static內部類,但不能操作外嵌類的例項成員變數

二、匿名類(建立物件)

是一個子類,不可以用來宣告物件,但是可以建立一個物件

特點:

  • 可以繼承或者重寫父類的方法
  • 匿名類一定是內部類
  • 建立物件時,直接使用父類的構造方法
new name(){ 類體 };  
//name可以是類名,也可以是介面名(必須重寫介面的全部方法)

三、異常類

使用throw關鍵字丟擲一個Exception子類的例項表示異常發生
允許方法呼叫過程中丟擲異常物件
異常物件可用如下方法得到異常資訊:
- public String getMessage();
- public void printStackTrace();
- public String toString();

1.使用try-catch語句處理異常

try{  
  ……  
}  
catch(ExceptionSubClass e){  
  ……  
}  

2.可自定義異常類

throws宣告要產生的異常
throw丟擲異常物件

public class SubExceptionName extends Exception{ 
//SubExceptionName是自定義異常類名稱
    public SubExceptionName(xxxxx)//構造
}

throw new SubExceptionName(xxxxx);//使用

斷言

除錯程式碼,不用捕獲異常來處理

  • 宣告斷言語句,有兩種格式:
assert booleanExpression;
//booleanExpression = false時結束執行   
assert booleanExpression:message;//並輸出message  
  • 啟用斷言語句:
    java -ea mainClass