package Class8;
import java.lang.reflect.Method;
/**
* 泛型
*
* 案例:反射
* 通过反射机制,我们可以得到T这个类型的很多信息
* 可以得到什么样的函数名称,返回类型,有什么成员变量等等很多信息
* 泛型优点:
* 1.类型安全
* 2.向后兼容
* 3.层次清晰
* 4.性能较高
*
*/
public class Test2 {
public static void main(String args[]){
//根据给的类型 T 会变为这个类型
Gen<String> gen2= new Gen<String>("a");
Gen<Integer> gen1= new Gen<Integer>(11);
Gen<Bird> gen3= new Gen<Bird>(new Bird());
gen3.shouTypeName();
}
}
class Bird{
public void test1(){
System.out.println("aa");
}
public void count(int a,int b){
System.out.println(a+b);
}
}
//T是我认为的一种类型 ,现在不知道是什么类型
class Gen<T>{
private T o;
public Gen(T a){
o = a;
}
//得到T的类型名称
public void shouTypeName(){
System.out.println("类型是:"+ o.getClass().getName());
//通过反射得到成员函数名
Method []m = o.getClass().getDeclaredMethods();
for(int i=0; i<m.length; i++){
System.out.println(m[i].getName());
}
}
}
泛型
最新推荐文章于 2023-12-23 19:39:51 发布