泛型
定義:即參數(shù)化類型,也就是說數(shù)據(jù)類型變成了一個可變的參數(shù)咸包,在不使用泛型的情況下凛驮,參數(shù)的數(shù)據(jù)類型都是寫死了的,使用泛型之后蜡饵,可以根據(jù)程序的需要進(jìn)行改變
定義泛型的規(guī)則:
只能是類類型弹渔,不能是簡單數(shù)據(jù)類型
泛型參數(shù)可以有多個
可以使用extends語句或者super語句 ,如<T extends superClass>表示類型的上界溯祸,T只能是li
例:
Dog.java
public class Dog extends Animal{
public Dog(){
System.out.println("一個Dog對象已被創(chuàng)建!");
}
}
Animal.java
public class Animal{
public Animal(){
System.out.println("一個Animal對象已被創(chuàng)建!");
}
}
Test.java
public class Test{
public <T,S extends T> T testDemo(T t,S s)
{
System.out.println("T的類型是"+t.getClass().getName());
System.out.println("S的類型是"+s.getClass().getName());
return t;
}
public static void main(String[] args)
{
Test test = new Test();
Animal a = new Animal();
Dog d = new Dog();
Animal a1 = test.testDemo();
System.out.println("a1的類型是"+a1.getClass().getName());
}
}