网站首页 > java教程 正文
什么是反射?
java的反射机制是指可以在运行状态下获取类和对象的所有属性和方法。
反射的作用?
1、在运行时获取一个类/对象的成员变量和方法
2、在运行时创建一个类的对象
3、在运行时判断一个对象是否属于一个类
反射有哪些具体的应用场景?
1、JDBC连接数据库时,使用Class.forName()通过反射加载数据库的驱动。
2、Spring的IOC (控制反转) 使用的就是工厂模式+反射的原理,需要使用到的类事先在配置文件中先声明,需要时根据配置的类名动态生成对象。
反射的缺点?
反射代码的执行速度慢,性能差,如果有其他方案可以替代,建议不使用。
如何获取类对象?
1、Class.forName("xxx")
try {
clazz = Class.forName("com.reflection.User");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
2、通过对象的getClass()方法
Class clazz = user.getClass();
3、直接通过类名获取类对象
Class clazz = User.class;
如何通过反射创建对象?
1、调用无参构造器
try {
clazz = Class.forName("com.reflection.User");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Object obj = clazz.newInstance();
2、调用有参构造器
try {
clazz = Class.forName("com.reflection.User");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Constroctor constroctor = clazz.getConstructor(String.class,Integer.class);
Object obj = constroctor.newInstance("龙哥", 29);
猜你喜欢
- 2024-09-30 java反射机制深度探讨(java反射机制的原理和用途)
- 2024-09-30 Java中的反射到底有什么用?(java反射的用途及实现)
- 2024-09-30 JAVA 反射机制(Java反射机制的作用包括)
- 2024-09-30 Java的反射机制是什么?#干货分享(java反射机制实现原理)
- 2024-09-30 Java基础:反射机制(java反射机制实例)
- 2024-09-30 想成为java架构师,你首先得掌握的Java反射机制,安排
- 2024-09-30 Java面试篇基础部分-Java反射机制是什么
- 2024-09-30 谈谈Java反射机制(java的反射机制)
- 2024-09-30 Java后端精选技术:Java的反射机制
- 2024-09-30 Java的反射机制大家都会了,你还不会吗?
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)