編譯時期異常
語法問題,需要開發人員顯示處理
執行時期異常--runtimeexception繼承自exception
第一種:
捕獲異常:
trycatch(異常類名 物件名)finally
第二種:
丟擲異常
throws
throw
注意:開發中,多使用第一種方法
1.位置不同:
throws:位於方法宣告上
throw:位於方法內部
2.後面跟的型別不同:
throws:後面跟的是異常類名,可以跟多個異常類名,通過,隔開
throw:後面跟的是異常類物件,一般是跟的是異常類的匿名物件 3.
throws:丟擲的異常表示的是一種可能性,**不一定會出現異常
throw:表示**一定有異常,丟擲的異常一定會執行 4.
throws:如果方法出現異常,則呼叫這個方法的\時也必須對這個異常進行處理
throw:在方法體中通過邏輯**控制異常的處理(if...else..)
常用功能
string getmessage()
返回詳細訊息字串
string tostring()
返回throwable的簡短描述
格式:異常類名: getmessage()的字串訊息
string printstacktrace()
返回異常的詳細資訊,並且追蹤到原始碼中
1:當子類繼承父類時,父類的方法丟擲的異常,子類重寫父類的方法時,丟擲的異常與父類的異常相同後者是父類異常的子類
2:當父類的方法沒有異常,而子類重寫的方法有異常時,不能丟擲異常,需要通過try..catch..處理異常
執行緒與程序
多程序:提高了cpu的使用率
多執行緒:乙個程序中包含多個執行緒,多個執行緒之間搶占cpu的資源,具有隨機性,多執行緒能滿足程式設計師編寫高效率的程式來達到充分利用 cpu 的目的
通過繼承thread類來實現
步驟: 1.定義乙個繼承thread類的子類
2.重寫父類中的run方法
3.在使用者執行緒中啟動執行緒
**:
public class mythread extends thread
}}public class threadtest
}
通過繼承runnable介面
步驟:1.定義實現runnable介面的子實現類
2.重寫run方法
3.在使用者執行緒中,建立共享資源物件
4.通過thread的有參構造方法定義多個thread執行緒物件
5.啟動多個執行緒
**:
public class myrunnable implements runnable
}}public class runnabletest
}
public final void setname(string name)
給執行緒設定名稱
public final string getname()
獲取執行緒的名稱
public final void setpriority(int newpriority)
給程序設定優先順序,預設值是5,範圍[1,10]
public final int getpriority()
獲取執行緒的優先順序
public void start()
執行執行緒
public static void sleep(long millis)
是執行緒休眠指定的毫秒
public static void yield()
暫停當前的執行緒,並執行其他執行緒
public final void join()
等待該執行緒終止
public final void setdaemon(boolean on)
將該執行緒標記為守護執行緒,正在執行的執行緒都是守護執行緒時,jvm停止執行
new
尚未啟動的執行緒處於這種狀態
runnable
正在jvm中執行的執行緒處於這種狀態
blocked
受阻塞並等待某個監視器鎖的執行緒處於這種狀態
waiting
無限期地等待另乙個執行緒執行特定操作時處的這種狀態
timed_waiting
等待另乙個執行緒來執行取決於指定等待時間操作的執行緒處於這種狀態
terminated
已經退出的執行緒處於這種狀態
Java學習日記DAY29
多型 1.向上轉型 隱式轉型 自動轉型 父類引用指向子類例項,可以呼叫子類重寫父類的方法以及父類派生的方法,無法呼叫子類獨有方法 注意 父類中的靜態方法無法被子類重寫,所以向上轉型之後,只能呼叫到父類原有的靜態方法,想要呼叫子類中的靜態方法需要重新向下造型 小類轉型為大類 2.向下轉型 強制型別轉換...
day 29 模組和包
閱讀目錄 一。模組和指令碼 模組 定義 如果乙個py檔案被匯入了,他就是乙個模組 指令碼 定義 如果乙個py檔案被直接執行了,那他就是乙個指令碼 模組 1.沒有具體的呼叫過程 2.但是能對外提供功能 當乙個模組被匯入時,如果pyc檔案不存在,python直譯器就回去建立,存在不會再次被建立 pyc編...
牛客網刷題day29
1.given the following class public class cat public static void main string arg which expression returns true?b a.c1c2 b.c2c3 c.m c1 d.c1.equals m 解析 ...