JAVA 泛型類,限制泛型和泛型方法

2021-09-24 13:43:30 字數 1518 閱讀 9548

我在學習集合的時候對泛型還不太了解,只是覺得用了泛型之後能向自己的集合裡加入自己指定型別的物件,可以減少資料型別的轉換。那麼,脫離集合後,泛型到底該如何使用。今天碰巧看了一段關於泛型的講解,覺得泛型也沒有自己想象中那麼難,於是將自己的心得分享出來,希望能幫到有需要的人。

泛型的知識點大概有:泛型類,限制泛型,泛型方法,泛型介面。

泛型類

下面泛型類的例子就非常簡單明瞭了,泛型類一般只需在類名後加符號(t表示一種資料型別,像integer,string),裡面的字母是可以隨便取的,如a,b,c

public class cc

public t getob()

public void setob(t ob)

}public class textcc

}

限制泛型

其實限制泛型也非常的簡單,就在類名後加,像下面例子裡的demo,表示的是往demo裝的物件必須是animal型別或者繼承animal的子類型別,如demoanimal = new demo(new animal()); 放其它型別的物件則會編譯出錯。

package fanxing;

public class animal

}package fanxing;

public class cat extends animal

}package fanxing;

public class dog extends animal

}package fanxing;

public class demo

public t gett()

public void sett(t t)

public void print()

}package fanxing;

public class t_testdemo

}

泛型萬用字元

package fanxing;

public class testtpf

public static void main(string args)

}

泛型方法

可以通過泛型輸出這樣的陣列

或者可以指定只有某種物件才能使用這種方法,這裡表示只有dog類及其子類物件才能使用f方法,其他物件則編譯出錯。

package fanxing;

public class fxway

}public staticvoid f(t t)

public static void main(string args) ;

print(a);

dog rr = new dog();

f(rr);

cat r2 = new cat();

// f(r2);

}}

泛型 泛型簡介和泛型類

在泛型引入之前,如果我們需要產生多個物件,每個物件的邏輯完全一樣,只是物件內的成員變數的型別不同,那麼我們只能建立多個類檔案,給每個類的成員變數設定不同的資料型別。這麼做會導致類的膨脹,重用性太差。一種方式是對將object作為變數型別,但是需要對獲取的資料進行強制型別轉換,這個過程可能導致型別轉換...

泛型 泛型類 泛型方法 泛型擦除

1 是什麼?一種允許我們在不確定引數型別時候使用的型別。例如我不知道a方法應該會傳string還是int,我就用個泛型先佔坑。2 為什麼要用泛型?泛型可以在編譯期自動確定具體型別,檢查型別是否匹配,可以提高 的重用率,減少冗餘編碼。3 泛型與object的區別?像上面說的我不知道方法a的引數型別,其...

JAVA 泛型類和泛型方法(靜態方法泛型)

泛型類定義的泛型,在整個類中有效。如果被方法是用,那麼 泛型類的物件明確要操作的具體型別後,所有要操作的型別就已經固定了。為了讓不同的方法可以操作不同型別,而且型別還不確定。那麼 可以將泛型定義在方法上。泛型類class demo public void print t t class generi...