JAVA中通过类名,自动创建对象,并且合理初始化(自动找到合适的构造方法),本程序是一个例子,你可以简单的修改一下,封装起来,那么就是一个很好的程序了。
文件名字:test.java
import java.lang.reflect.*;
class Student
{
String name;
int age;
public Student()
{
}
public Student(String name,Integer age)
{
this.name=name;
this.age=age;
}
public String toString()
{
return "姓名:"+name+",年龄:"+age;
}
}
public class Test {
public static void main(String args[]) throws Exception
{
Object []o={"张三",new Integer(12)};
Student s=(Student)createClass("Student",o);
System.out.print(s);
}
public static Object createClass(String name,Object []o) throws Exception//自动找到合适的构造方法并构造
{
Class myClass =Class.forName(name);
Class[] argsClass = new Class[o.length];
for (int i = 0; i< o.length; i++) {
argsClass[i] = o[i].getClass();
}
try
{
Constructor cons = myClass.getConstructor(argsClass);
return cons.newInstance(o);
}
catch (Exception e)
{
return myClass.newInstance();
}
}
}
分享到:
相关推荐
qt通过类名动态创建对象
通过类的名称就可以找到类的对应实例对象,和JAVA中的反射差不多,使用时可能会应为map对象导致错误,正在改正中
1、假设你要反射一个 DLL 中的类,并且没有引用它(即未知的类型): Assembly assembly = Assembly.LoadFile(程序集路径,不能是相对路径); // 加载程序集(EXE 或 DLL) dynamic obj = assembly....
java的主题类名
实现c++根据类名创建c++ 对象,一个文件简单明了,,,,,
反射是指程序在运行时动态获取对象属性与...简单一点说,就是可以通过类名称来创建一个类对象,这在Java和Object-C中是原生支持的,所以实现起来非常简单,但是C++就不支持了,如果想要用到反射机制,那就得自己实现。
主要介绍了 Java 获取当前类名和方法名的实现方法的相关资料,这里不仅提供了实现方法并比较几种方法的效率,需要的朋友可以参考下
c++中由类名(string)创建这个类对象(RTTI)
php根据字符串类名 动态生成对象 经常的需求是,由其他... 可以给目标类定义一个static的方法生成该对象的实例,然后通过call_user_func或call_user_func_array调用该方法。当然,也可以通过工厂类等方法来实现。
易语言伪装类名创建按钮源码。@资源源码站。
本文主要对比Java与C++在创建对象时的不同,仅代表个人观点,如有不合理之处,望大家批评指正。闲话少说,直奔主题。 Java和C++都是面向对象的编程语言,然而Java和C++在创建对象时却存在不同的方式,由于方式的...
new Car()是创建新的Car对象的方法,这个方法调用了Car类的构造函数来初始化这个新对象。 每个对象实例都有其自己的属性和行为。例如,对于一个Car类,一个实例可能有颜色(color)、型号(model)、年份(year)等...
3.使用构造器可以创建对象 关键字:new 创建对象时将在堆内存中给对象分配空间 5.2 方法重载 1. 什么是方法重载:在同一个类中,方法名相同但提供的参数个数和类型不同的两个方法叫做方法重载。 需要注意的是...
用来在很多的jar包中找到你所希望的类名。 使用方法: java -jar JarClassFinder1.3.jar
本质上是一个方法,它也有方法体,但没有方法名,没有参数,没有返回,而且也不是通过对象或类名显式调用,而是通过隐式调用。 使用初始化块 初始化块是Java类里面可以出现的第四种成员。 优点: 和构造器很像,都是...
Ubuntu下的自动获取android包名类名,操作简单。
java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名。本项目为普通java项目
易语言伪装类名创建按钮源码,伪装类名创建按钮,CreateWindowEx_FalseClass,GetModuleHandle,SendMessage,CreateWindowEx,GetClassInfo,RegisterClass,lstrcmpi
此文件为JAVA语言的类名与库汇总表。