異常:
一般情況下,函式內出現異常,函式上需要宣告。
發現列印的結果中只有異常的名稱,卻沒有異常的資訊。因為自定義的異常並未定義資訊。
如何定義異常資訊呢?
因為父類中已經把異常資訊的操作都完成了。
所以子類只要在構造時,將異常資訊傳遞給父類通過super語句。
那麼就可以直接通過getmessage方法獲取自定義的異常資訊。
自定義異常:
必須是自定義類繼承exception。
繼承exception原因:
異常體系有乙個特點:因為異常類和異常物件都被丟擲。
他們都具有可拋性,這個可拋性是throwable這個體系中獨有特點。
只有這個體系中的類和物件才可以被throws和throw操作。
exception中有乙個特殊的子類異常runtimeexception:執行時異常
如果在函式內容丟擲該異常,函式上可以不用宣告,編譯一樣通過;
如果在函式上宣告了該異常,呼叫者可以不用進行處理,編譯一樣通過;
之所以不用再函式宣告,是因為不需要讓呼叫者處理。
當該異常發生,希望程式停止,因為在執行時,出現了無法繼續運算的情況,希望停止程式後,對**進行修正。
異常分為兩類:
1:編譯時被檢測的異常
2:編譯時不被檢測的異常(即runtimeexception及其子類)
finally非常重要
定義一定執行的**。通常用於關閉資源。
catch適用於處理異常的,如果沒有catch就代表異常沒有被處理過,如果該異常時檢測時異常,那麼必須宣告。
java畢向東聽課筆記14(執行緒3)
死鎖 為什麼出現 同步中巢狀同步,而鎖卻不同。在開發中,應該盡量避免死鎖。執行緒間的通訊 其實就是多個執行緒在操作同一資源,但是操作的動作不同。等待喚醒機制 wait notify notifyall 都使用在同步中,因為要對持有監視器 鎖 的執行緒操作。所以要使用在同步中,因為只有同步才有鎖。為什...
java畢向東聽課筆記17(字串1)
string s1 abc 其中s1是乙個類型別變數,abc 是乙個物件。字串最大的特點 一旦被初始化就不可以被改變。如果在接下來的語句中寫出s1 kk 只能說明s1的位址變了,指向了 kk 物件,而在記憶體中,abc 物件並沒有變,所以成為一旦初始化就不可以改變。字串也可以這樣初始化 string...
java畢向東聽課筆記18(字串2)
string類適用於描述字串事物。那麼它就提供了多個方法對字串進行操作。常見的操作有哪些?1.獲取。1.1 字串中的包含的字元數,也就是字串的長度。int length 獲取長度 1.2 根據位置獲取位置上某個字元。char charat int index 1.3 根據字元獲取該字元在字串中的位置...