【慕課筆記】第四章 JAVA中的集合框架(上) 第10節 學生選課—應用泛型管理課程(二)

yxt_y發表於2016-02-23

第10節 學生選課—應用泛型管理課程(二)


前面的知識:

如果子類的構造方法中沒有顯示呼叫父類的構造方法,則系統預設呼叫父類的無參構造方法

如果顯示的呼叫構造方法,必須在子類的構造方法的第一行

如果子類的構造方法中既沒有顯示呼叫父類的構造方法,而父類又沒有無參的構造方法,則編譯出錯。


泛型集合中除了可以存入泛型型別還可以存入泛型的子型別物件例項


新建個ChildCourse類

package com.imooc.collection;

public class ChildCourse extends Course {
	//父類定義了有參構造器,所以編譯器不會為它自動新增隱式構造器。而子類必須要呼叫父類隱式構造器,所以
	//為了避免這個錯誤,在父類手動新增一個無參構造器
	
}


GenericTest類中
	//泛型結合可以新增泛型的子型別的物件例項
	public void testChild(){
		ChildCourse ccr=new ChildCourse();
		ccr.id="3";
		ccr.name="我是子型別的課程物件例項";
		courses.add(ccr);
	}


泛型集合中的限定型別不能使用基本資料型別。
可以通過使用包裝類限定允許存入的基本資料型別

GenericTest類中

	//泛型不能使用基本型別
	public void testBasicType(){
		//List<int> list=new ArrayList<int>();  //報錯,不能用Int
		List<Integer> list=new ArrayList<Integer>();
		list.add(1);
		System.out.println("基本型別的包裝類作為泛型"+list.get(0));
	}
	





相關文章