Java筆記(三)內部類、異常處理、型別限定
阿新 • • 發佈:2018-12-30
今天我們先說一下內部類
內部類,就是類大的內部定義一個不與外部類同名的新類。在外部類內部使用內部類方式與普通類一樣。若要在其他位置使用,類名前要冠以外部類的名字,包括用new建立內部類的時候,用Person.new.Student()
來建立。
大家都知道,在Java中是沒有指標的,那麼指標這個功能在Java中是如何體現的呢?
引用型別,引用本身就相當於指標。
比如說我們C語言中要想交換兩個整形變數的值,必須傳入兩個引數的地址。而Java中我們利用get set方法改變值或者我們傳入物件,利用傳入物件的引用呼叫函式來改變物件的屬性,返回新物件的引用,前面的物件引數就不再用了。
Java中的異常處理
丟擲(throw)異常,然後系統在呼叫棧中查詢,從生成異常的地方開始回溯,直到找到異常的程式碼。
try{
}catch(異常型別 異常形式引數名){
異常處理語句組
}catch(異常型別 異常形式引數名){
異常處理語句組
}finally{
異常處理語句組
}
catch可以有0個或多個,finally可有可無。
斷言
assert格式為:
assert 表示式;
assert 表示式 :資訊;
如果表示式不為true,則產生異常,並輸出相關的錯誤資訊。
在Java中,equals()是比較內容或含義是否相等,“==”比較的是引用。
StringTokenizer()用來分割字串
StringTokenizer st = new StringTokenizer("this is a bag", " ");
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
型別限定
1.使用“?”
如Collections的reverse方法
reverse(List<?> list) //任意型別的List連結串列
2、使用extends
如Set的addAll方法
addAll(Collection<? extends E> col )
//代表這個當前元素是E的子類
3、使用super
如Collections的fill方法
fill(List<? super T>list, T obj)
表示當前元素是T的父類