Java泛型反射机制(二)
2016-04-02 15:35
351 查看
/** * @author Administrator * 好处:泛型:1安全 2减少代码重用率 */ package com.test; import java.lang.reflect.Method; public class Test2 { public static void main(String[] args) { // TODO Auto-generated method stub // Gen<String> gen1 = new Gen<String>("aaa"); // gen1.showTypeName(); // // Gen<Integer> gen2 = new Gen<Integer>(1); // gen2.showTypeName(); Gen<Bird> gen3 = new Gen<Bird>(new Bird()); gen3.showTypeName(); //Java泛型的反射机制 } } //定义一个Bird class Bird { public void test1() { System.out.println("aa"); } public void count(int a, int b) { System.out.println(a+b); } } //定义一个类 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()); } } }
相关文章推荐
- Java泛型反射机制(一)
- 大数乘法[JAVA实现]-经典笔试题
- Java基础——成员变量、局部变量和静态变量的区别
- RxJava实例(一)
- 深入Spring之web.xml
- Java技术_Java千百问(0019)_java中如何循环执行
- 彻底解决Spring mvc乱码
- JVM版本引起的一个错误java.lang.UnsupportedClassVersionError
- 关于eclipse下开发android应用的几个常用插件
- spring mvc restful工程demo
- 在Windows的cmd控制台执行java程序
- Java书籍推荐
- Java并发编程:volatile关键字解析
- 2 Java基础语法(关键字,标识符,注释,常量,进制转换,变量,数据类型,数据类型转换)
- Java学习系列——xml学习基础
- 深入Java核心 Java内存分配原理精讲
- Fresco(Facebook开源的android项目)图片缓存框架的eclipse整合与使用探索(较详细配置说明)
- 多次运行,端口被占用错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use: 1099; nested exception
- eclipse安装activiti工作流插件
- MyEclipse svn authorization failed