內部類
在一個類中聲明另一個類
包含內部類的類稱爲內部類的外嵌類
- 內部類的類體不能聲明類變量和類方法,在外嵌類的類體中可以用內部類聲明對象作爲外嵌類的成員
- 內部類的外嵌類的成員變量不可以聲明類變量和類方法。在外嵌類的類體中可以調用外嵌類的成員
匿名類
子類去掉類聲明後的類體
使用父類的構造方法,創建對象。
使用接口名和一個類體創建一個匿名對象。
異常類
- try-catch-finally語句
try{
}catch(ExceptionSubClass e){
}
- throw拋出異常對象,結束該方法執行
- throws聲明要產生的多個異常,並在方法體中給出產生異常的操作
public void throwsTest() throws ExceptionClass1, ExceptionClass2 {...}
- 自定義異常一定是Throwable的子類
異常處理規則
不要過度使用異常:對於完全已知的錯誤應編寫處理這種錯誤代碼從而提高代碼的健壯性,只有外部的、不能確定的和不可預知的運行時錯誤使是用異常,並且異常機制的效率低於正常的流程控制。
不要使用過於龐大的try塊:過於龐大的try塊業務也相對更復雜,會導致try塊中異常的可能性大大增加,在分析發生異常的原因時難度增加。
避免使用Catch All語句:Catch All是catch(Throwable t),也會在發生異常是分析原因的複雜度增加。
不要忽略已捕獲到的異常:對於捕獲到的異常應該對其進行處理從而提高代碼健壯性,而不是什麼都不做或者只是打印跟蹤棧信息。
斷言語句
assert booleanExpression;(boolean型表達式)
assert booleanExpression:messageException