1.本章的主要内容

2.关于反射的理解

Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何
类的内部信息,并能直接操作任意对象的内部属性及方法。

框架 = 反射 + 注解 + 设计模式。

3.体会反射机制的“动态性”

//体会反射的动态性
@Test
public void test2(){ for(int i = 0;i < 100;i++){
int num = new Random().nextInt(3);//0,1,2
String classPath = "";
switch(num){
case 0:
classPath = "java.util.Date";
break;
case 1:
classPath = "java.lang.Object";
break;
case 2:
classPath = "com.atguigu.java.Person";
break;
} try {
Object obj = getInstance(classPath);
System.out.println(obj);
} catch (Exception e) {
e.printStackTrace();
}
} } /*
创建一个指定类的对象。
classPath:指定类的全类名
*/
public Object getInstance(String classPath) throws Exception {
Class clazz = Class.forName(classPath);
return clazz.newInstance();
}

4.反射机制能提供的功能

5.相关API

java.lang.Class:反射的源头
java.lang.reflect.Method
java.lang.reflect.Field
java.lang.reflect.Constructor
....

最新文章

  1. java静态方法调用&amp;&amp;构造函数&amp;&amp;静态块
  2. C# DllImport“调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配 ”
  3. WordPress网站搭建
  4. 在实例中说明java的类变量,成员变量和局部变量
  5. Routing and controllers
  6. Linux下安装Oracle的过程和涉及的知识点-系列4
  7. js Function 加不加new 详解
  8. Iframe 自适应高度并实时监控高度变化的js代码
  9. cache 和 buffer的区别
  10. hdu4704 Sum 2013 Multi-University Training Contest 10 数论题
  11. 在mac上安装Docker
  12. libevent源码阅读笔记(一):libevent对epoll的封装
  13. C++版-剑指offer 面试题6:重建二叉树(Leetcode105. Construct Binary Tree from Preorder and Inorder Traversal) 解题报告
  14. 017-并发编程-Condition
  15. check
  16. mysql每天凌晨0点准时启动taskeng.exe如何关闭
  17. Mysql表创建外键报错
  18. Java 发展历史
  19. linux挂载SD卡
  20. 高德js API根据出行方式和出现策略由起始点经纬度实现路线规划

热门文章

  1. Water Testing【皮克定理,多边形面积,线段上点的数目】
  2. python常用模块-os
  3. Linux下常用命令(持续更新)
  4. 几款一元单片机对比:CMS8S5880、STM8S003、N76E003
  5. VS Code WebApi系列——1、配置
  6. c++深复制与浅复制区别代码示范vs2015-txwtech
  7. Java中时间处理
  8. 终于搞明白Unicode,ASCII,UTF8,UCS2编码是啥了
  9. 处理TortoiseGit一直弹出密码框的方法 -输入git@XXXX.com的密码
  10. skywalking中表字段的信息