自定義泛型1
阿新 • • 發佈:2021-08-11
package com.wangg;
import com.sun.org.apache.xpath.internal.operations.String;
/*
GenericTest 是一個普通的類
GenericTest<E>是一個泛型類
<>裡面就是一個引數型別,但是這個型別是什麼呢?這個型別現在是不確定的,相當於一個佔位
但是現在確定的是這個型別一定是一個引用的資料型別,而不是基本資料型別
*/
public class GenericTest<E>{
int age;
String name;
E sex;
public void a(E n){
}
public void b(E[] m){
}
}
class Test{
public static void main(String[] args) {
//GenericTest進行例項化
//1.例項化的時候不指定泛型:如果例項化的時候不明確的指定類的泛型,那麼認為此泛型為Object型別
GenericTest g1 = new GenericTest();
g1.a(6);
g1.a("王剛");
g1.b(new Integer[]{1,23,4});
//2.例項化的時候明確的指定泛型--->推薦
GenericTest<java.lang.String> g2 = new GenericTest<>();
g2.sex="男";
g2.a("fasdfajsldf王剛");
g2.b(new java.lang.String[]{"w","aw","wa"});
}
}
class sasdf extends GenericTest<Integer>{
}
class Dome{
public static void main(String[] args) {
//指定父類泛型,那麼子類就不需要在指定泛型了,可以直接使用
sasdf a = new sasdf();
a.a(18);
}
}
class sasdf2<E> extends GenericTest<E>{
class Dome02{
public void main(String[] args) {
}
}
}
繼承問題
如果繼承前指定泛型了,那麼使用的時候就不需要指定