import java.lang.reflect.Method; /** * @author 菊丿外人 *泛型 *优点 *1、类型安全 *2、向后兼容性 *3、层次清晰 *4、性能较高,用GJ编写的代码可以为Java编译器和虚拟机带来更多的 * 类型信息,这些信息对Java程序做进一步优化提供条件 */ class Gen<T>{ private T o; //构造函数 public Gen(T a){ this.o=a; } //得到T的类型名称 public void showTypeName(){ System.out.println("类型是:"+o.getClass().getName()); //通过反射机制,可以得到T这个类型的很多信息(比如得到成员函数名) Method[]m=o.getClass().getDeclaredMethods(); //打印 for(int i=0;i<m.length;i++) { System.out.println(m[i].getName()); } } } //定义一个鸟类 class Bird{ public void bir() { System.out.println("aa"); } public void count(int a,int b){ System.out.println(a+b); } } public class Test{ public static void main(String[] args) { //Gen<String> gen= new Gen<String>("aaa"); //gen.showTypeName(); Gen<Bird> b =new Gen<Bird>(new Bird()); b.showTypeName(); } }
java_泛型
最新推荐文章于 2024-01-31 00:57:56 发布