JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

「大头java」搞懂java的反射机制 java的反射机制的作用

wys521 2024-11-13 15:08:34 精选教程 24 ℃ 0 评论

什么是反射?

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);

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表