[1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081 
[2] Java动态代理-->Spring AOP :http://www.iteye.com/topic/1123293 
[3] 属性编辑器,即PropertyEditor-->Spring IoC:http://www.iteye.com/topic/1123628 
[4] XML基础知识-->Spring配置:http://www.iteye.com/topic/1123630 
[5] 注解-->Spring配置:http://www.iteye.com/topic/1123823 
[6] 线程本地变更,即ThreadLocal-->Spring事务管理:http://www.iteye.com/topic/1123824 
[7] 事务基础知识-->Spring事务管理:http://www.iteye.com/topic/1124043 
[8] 国际化信息-->MVC:http://www.iteye.com/topic/1124044 
[9] HTTP报文-->MVC:http://www.iteye.com/topic/1124408 

Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数、属性和方法等。Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能,这就为使用程序化方式操作Class对象开辟了途径。 

  1. //①通过类装载器获取Car类对象
  2. ClassLoader loader = Thread.currentThread().getContextClassLoader();
  3. Class clazz = loader.loadClass("com.baobaotao.reflect.Car");
  4. //②获取类的默认构造器对象并通过它实例化Car
  5. Constructor cons = clazz.getDeclaredConstructor((Class[])null);
  6. Car car = (Car)cons.newInstance();
  7. //③通过反射方法设置属性
  8. Method setBrand = clazz.getMethod("setBrand",String.class);
  9. setBrand.invoke(car,"红旗CA72");
  10. Method setColor = clazz.getMethod("setColor",String.class);
  11. setColor.invoke(car,"黑色");
  12. Method setMaxSpeed = clazz.getMethod("setMaxSpeed",int.class);
  13. setMaxSpeed.invoke(car,200);
  14. return car;
  15. }
  16. public static void main(String[] args) throws Throwable {
  17. Car car = initByDefaultConst();
  18. car.introduce();
  19. }
  20. }

注意:获取当前类的类加载器ClassLoader loader = Thread.currentThread().getContextClassLoader();

注意:获取当前类的类加载器ClassLoader loader = Thread.currentThread().getContextClassLoader();

注意:获取当前类的类加载器ClassLoader loader = Thread.currentThread().getContextClassLoader();

注意:获取当前类的类加载器ClassLoader loader = Thread.currentThread().getContextClassLoader();

最新文章

  1. win10打开组策略提示命名空间已经被定义
  2. ZeroMQ接口函数之 :zmq_disconnect - 断开一个socket的连接
  3. Docker Compose—简化复杂容器应用的利器
  4. angularJS directive详解
  5. Android中的事件分发和处理
  6. Codeforces 660 C. Hard Process (尺取)
  7. java_线程安全-service
  8. 庖丁解牛FPPopover
  9. SpringDataRedis事务处理
  10. intersect for multiple vectors in R
  11. 表单的自动到json与urlstr
  12. L2-001. 紧急救援(PAT)~最短路应用
  13. Spring Security 之方法级的安全管控
  14. mysql关于排序值的问题,指定排序值
  15. WPF Binding学习(四) 绑定各种数据源
  16. CVE-2018-14634 - Linux create_elf_tables()中的整型溢出 - 翻译
  17. 《DSP using MATLAB》Problem 5.32
  18. iOS debug release
  19. Android context空指针异常
  20. MongoDB入门知识

热门文章

  1. POJ:3228-Gold Transportation(要求最小生成树最大边最小)
  2. 金阳光Android自动化测试第一季
  3. 使用MeidaStore.Audio获得手机中的音频文件
  4. 关于dispatch_sync死锁问题
  5. pytion3--class一个更实际的例子
  6. Struts2的文件上传与下载
  7. HDU——1395 2^x mod n = 1(取模运算法则)
  8. 洛谷P4364 [九省联考2018]IIIDX 【线段树】
  9. 数组快速生成range的方法
  10. log4j配置输出到数据库+自定义字段