Java泛型简单认识

Java泛型的一种用法可以类比C++的模板类,用于构建参数化类型,即不指明具体的类型,提高代码的重用率;另一种用法是Java中的反射机制用到了泛型,这一块是我的知识盲点,用一个简单实例来说明:

import java.lang.reflect.Method;

public class Gene {
	public static void main(String[] args){
		//Gen<String> gen=new Gen<String>("aa");
		Gen<Bird> gen=new Gen<Bird>(new Bird());
		gen.showType();
	}
}
class Bird{
	public void test1(){
		System.out.println("sss");
	}
	public void test2(){
		System.out.println("mmm");
	}
}
class Gen<T>{
	private T a;
	public Gen(T t){
		this.a=t;
	}
	public void showType(){
		System.out.println("类型是:"+a.getClass().getName());
		//取出当前实例的所有成员方法
		Method [] m=a.getClass().getDeclaredMethods();
		for(int i=0;i<m.length;i++){
			System.out.println(m[i].getName());
		}
	}
}


 

你可能感兴趣的:(Java泛型简单认识)