java使用(class类)反射机制实现对类的创建和初始化,比如一个javabean类

比如
实现类的方法 public static Object getInstance(String className,Object ... params){}
初始化的类 public Class Person{

private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
调用方法后,会创建person对象 和初始化
public void setAge(int age) {
this.age = age;
}

}

无参构造:引用名 = (类类型)Class.forName(包.类名称).newInstance();
有参构造:Constructor cons[] = Class.forName(包.类名称).getConstructors();
引用名 = (类类型)cons[i].newInstance(参数);0<=i<=cons.length-1,多个有参构造就是i不同.
不过在开发中一般都会保留无参构造方法,一个好的类要覆写toString() hashCode() equals() 还有就是要有无参构造方法,这个很重要,要记住了哦~~~

关于第二点:最近看servelet一个视频好像听说会优先考虑有参的方法,你可以测试一下到底是声明的顺序还是有参的在前面哦~~~
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-02-01
Class<?> cls = Class.forName("Person") ;
Constructor<?> con = cls.getConstructor() ;
Person per = con.getInstance();
异常处理不写了。我调用的Person的无参构造方法,原因是,没看到你的这个类有别的构造方法,就调用默认无参的了。本回答被网友采纳
第2个回答  2013-02-01
没看懂你的需求是什么···

java的反射机制是什么?
public synchronized int java.util.Stack.search(java.lang.Object)这样就列出了java.util.Stack 类的各方法名以及它们的限制符和返回类型。这个程序使用 Class.forName 载入指定的类,然后调用 getDeclaredMethods 来获取这个类中定义了的方法列表。java.lang.reflect.Methods 是用来描述某个类中单个方法的一个类。2....

java反射机制详解
反射是从1.2就有的,后面的三大框架都会用到反射机制,涉及到类"Class",无法直接new CLass(),其对象是内存里的一份字节码.Class 类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共...

java反射机制的作用(java中反射机制的作用)
怎么理解Java中的反射,作用是什么1、JAVA中反射是动态获取信息以及动态调用对象方法的一种反射机制。Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。2、Java的反射(reflection)机制是指在程序的运行...

javabean四种属性(javabean的特性)
众所周知,属性名称符合这稿稿种模式,其他Java类可以通过自省机制(反射机制)发现和操作这些JavaBean的属性。 用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、弯改applet程序或者应用来使用这些对象。用户可以认为...

调用一个javabean实例的属性都有哪些方式?
\/\/创建一个Person类型的JavaBean实例Person person = new Person("Tom", 21, "male");\/\/获取person的sex属性String sex = person.sex;使用 JSON 数据绑定:\/\/将JavaBean对象转换为JSONObjectMapper mapper = new ObjectMapper();String json = mapper.writeValueAsString(person);\/\/将JSON转换回...

什么是JavaBean JavaBean介绍
1、JavaBean是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。2、JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制(反射机制)发现和操作这些JavaBean的属性...

什么是javabean?有什么用?
JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 属性。 换句话说,javabean就是一个jav...

java中的映射是怎样实现的?
第一,写一个符合javaBean标准的实体类,类的属性名称和类型分别与数据库的字段对应,并加上无参构造方法和get、set方法;第二,使用注解配置映射关系,用@Entity注解该类是一个实体类,用@Table(name = "表名")注解该实体类映射的表名,通过在每一个属性的get方法上添加@Column(name = "列名")...

现代Java Web开发架构分析
所有的框架使用不同的技术来协调在Web应用程序之内的导航 例如XML配制文件 java属性文件或定制属性 所有的框架在控制器模块实现的方法方面也存在明显的不同 例如 EJB可能实例化在每个请求中需要的类或使用Java反射动态地调用一个适当的行动(Action)类 另外 不同框架在各自引入的概念上也有所不同 例如 一...

依赖注入的三种实现方式(依赖注入的三种实现方式区别)
3、是java自带的注解,有两个属性name和type,Spring支持使用@Resource来注入。加到类的属性字段上,默认会使用反射机制来实现注入;原则上要加到类的属性set方法上。4、依赖注入:本质就是对类中的变量进行赋值操作!spring使用注解标注类,spring容器通过包扫描注解,将这些标注了spring注解的类管理起来。...

相似回答