首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

终究什么是反射

2013-12-22 
到底什么是反射到底什么是反射,之前我只知道java反射是学习SSH等框架必须使用的。package refllectimport

到底什么是反射

到底什么是反射,之前我只知道java反射是学习SSH等框架必须使用的。

package refllect;import java.lang.reflect.Constructor;import domain.User;public class ReflectTest {public static void main(String[] args) throws Exception {Class clazz = User.class;Object o = create(clazz);System.out.print(o);}static Object create(Class clazz) throws Exception{Constructor c = clazz.getConstructor(String.class);Object o = c.newInstance("new name");return o;}}
package domain;import java.util.Date;public class User {public User() {}public User(String name) {this.name = name;}private int id;private String name;private Date birthday;private float money;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public float getMoney() {return money;}public void setMoney(float money) {this.money = money;}@Overridepublic String toString() {return "User [id=" + id + ", name=" + name + " birthday=" + birthday+ " money=" + money + "]";}}

??

?从书上第一个例子来看,反射就是在一个方法内,在不知道构建什么类的实例的情况下,构造一个类的实例,说起来有的绕,但感觉这东西好基础。

其实构建实例就是这么简单的一句

Object o = clazz.newInstance();

?不过这只能够实例化,无参构造方法的类,也就是默认的。

Constructor c = clazz.getConstructor(String.class);

?上面这句是创建了一个构造器然后,再用这个构造器去创建实例。

可是我有个疑问,这么简单的东西,很多书为什么会花那么长的篇幅去介绍呢???

是我还有很多东西没学,还是我理解的不对。

?

热点排行