问题描述
- java中如何用反射创建一个对象
-
java中如何用反射创建一个对象 如何理解java的反射,反射是一种怎么样的机制呢
解决方案
楼上说的理论很多了,,给你来点实际的,,
Class clazz=Class.forName("test.User");
Object obj=clazz.newInstance();
这是用反射创建对象的方法之一,,也是最常用的
解决方案二:
反射主要做两件事情,一个是运行时创建(dc)(最典型的,插件程序,插件在主程序后被开发出来,主程序要创建插件对象,就不能在编译的时候用new写出来,必须在运行时反射创建),一个是运行时类型识别(rtti)(典型的,myeclipse能给你某个对象有什么方法、成员的列表提示,而显然这个过程也是运行时动态获取的)。
至于java如何反射,参考机器人的回答,以及自己google,不重复了。
解决方案三:
顺便说下反射的机制,java和C++不同,它在编译产生目标程序的时候,会把类型、方法原型、它的字段、函数名、函数地址等信息也放在可执行程序中,这些数据叫做元数据(metadata)
反射工作的原理就是读取程序中的这些信息,从而得到类型的各种数据。至于动态创建,可以通过检索元数据得到构造函数的函数地址,从而直接调用它创建对象。
解决方案四:
Java通过反射创建对象
java 反射的应用(将一个java对象转换成一个xml文件)
java 反射应用---创建对象
时间: 2024-10-30 15:27:24