java 面向对象(三十七):反射(一) 反射的概述
2024-09-07 18:14:09
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
....
最新文章
- java静态方法调用&;&;构造函数&;&;静态块
- C# DllImport“调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配 ”
- WordPress网站搭建
- 在实例中说明java的类变量,成员变量和局部变量
- Routing and controllers
- Linux下安装Oracle的过程和涉及的知识点-系列4
- js Function 加不加new 详解
- Iframe 自适应高度并实时监控高度变化的js代码
- cache 和 buffer的区别
- hdu4704 Sum 2013 Multi-University Training Contest 10 数论题
- 在mac上安装Docker
- libevent源码阅读笔记(一):libevent对epoll的封装
- C++版-剑指offer 面试题6:重建二叉树(Leetcode105. Construct Binary Tree from Preorder and Inorder Traversal) 解题报告
- 017-并发编程-Condition
- check
- mysql每天凌晨0点准时启动taskeng.exe如何关闭
- Mysql表创建外键报错
- Java 发展历史
- linux挂载SD卡
- 高德js API根据出行方式和出现策略由起始点经纬度实现路线规划
热门文章
- Water Testing【皮克定理,多边形面积,线段上点的数目】
- python常用模块-os
- Linux下常用命令(持续更新)
- 几款一元单片机对比:CMS8S5880、STM8S003、N76E003
- VS Code WebApi系列——1、配置
- c++深复制与浅复制区别代码示范vs2015-txwtech
- Java中时间处理
- 终于搞明白Unicode,ASCII,UTF8,UCS2编码是啥了
- 处理TortoiseGit一直弹出密码框的方法 -输入git@XXXX.com的密码
- skywalking中表字段的信息