1. 程式人生 > >Java筆記(三)內部類、異常處理、型別限定

Java筆記(三)內部類、異常處理、型別限定

今天我們先說一下內部類
內部類,就是類大的內部定義一個不與外部類同名的新類。在外部類內部使用內部類方式與普通類一樣。若要在其他位置使用,類名前要冠以外部類的名字,包括用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的父類