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

201711671118《Java程式設計》第七章總結

7.1內部類

①類除了可以有成員變數和方法外,還可以擁有一種成員:內部類。

②在一個類中定義另一個類,這樣的類稱為內部類,包含內部類的類稱為內部類的外嵌類。

③內部類和外嵌類的關係:

外嵌類的成員變數在內部類仍然有效,內部類中的方法也可以呼叫外嵌類中的方法。

內部類的類體中不可以宣告類變數和類方法。

外嵌類的類體中可以用內部類宣告物件,作為外嵌類的成員。

內部類僅供它的外嵌類使用,其他類不可以用某個類的內部類宣告物件。

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

⑤內部類可以被修飾為static內部類,static內部類是外嵌類中的一種靜態資料型別,這樣一來,程式就可以在其他類中使用static內部類來建立物件。但是static內部類不能操作外嵌類的例項成員變數。

⑥非內部類不可以是static類。

7.2 匿名類

①JAVA允許直接使用一個類的子類的類體建立一個子類物件,建立子類物件時,除了使用父類的構造方法外還有子類去掉類聲明後的類體,稱為匿名類。

②匿名類特點:

匿名類可以繼承父類的方法也可以重寫父類的方法。

匿名類一定是內部類。

匿名類可以訪問外嵌類中的成員變數和方法,匿名類的類體不可以宣告static成員變數和方法。

③JAVA允許直接用介面名和應該類體建立一個匿名物件,類體被認為是實現介面的類去掉類聲明後的類體,被稱為匿名類。

7.3 異常類

①JAVA使用throw關鍵字丟擲一個Exception子類的例項來表示異常發生。

②允許方法呼叫過程中丟擲異常物件,終止當前方法的繼續執行。

③使用try-catch語句來處理異常。將可能出現異常的操作方法放入try語句中,一旦try部分丟擲異常物件,或呼叫某個可能丟擲異常物件的方法,並且該方法丟擲異常物件,那麼try部分將立刻結束執行。,轉向執行相應的catch語句。

④可以擴充套件Exception類定義自己的異常類,然後根據程式的需要來規定哪些方法產生這樣的異常。一個方法在宣告時可以使用throws關鍵字宣告要產生的若干個異常,並在該方法的方法體中具體給出產生異常的操作,即用相應的異常類建立物件,並使用throw關鍵字丟擲該異常物件,導致該方法結束執行。     

7.4 斷言

①斷言語句一般用於不準備通過捕獲異常來處理的錯誤,例如,當發生某個錯誤時,要求程式必須立即停止執行。

②使用關鍵字assert宣告一條斷言語句,有兩種格式

assert booleanExpression;

assert booleanExpression: messageException;(值是false時,程式停止執行,輸出 messageException表示式的值。

7.5 finally語句

語法格式:

try();

catch(ExceptionSubClass e){}

finally{}

執行機制:在執行try-catch語句後,執行finally語句(無論try是否異常都執行)。

特殊情況:

①如果try-catch語句中執行return語句,那麼finally語句還會被執行。

②try-catch語句中執行了System.exit(0); ,則不執行finally語句。