1. 程式人生 > >java泛型-implements和extends

java泛型-implements和extends

簡介

JavaSE當中之前的理解是:implements是實現介面,extends是繼承類,但是在泛型中只能使用extends,不過只能使用extends並不意味著只能繼承類,泛型使用extends後邊既可以接父類又可以跟介面,最終實現的效果跟繼承類或者實現介面是一樣的。

泛型例項

	public <T extends List<?>> void test(T[] mote) {
		T t = null;
		for (Object ts : t) {
			System.out.println(ts);
		}
	}


首先,很明顯上述程式碼不會報錯,但是這裡的關注點是泛型的使用。

extends後邊跟的是List,而List是一個介面。

	public <T extends ArrayList<?>> void test(T[] mote) {
		T t = null;
		for (Object ts : t) {
			System.out.println(ts);
		}
	}


extends後邊跟的是ArrayList,而ArrayList是一個實現類。

這兩個例項在語法上是沒有錯誤的(不要在意null)