:arrow: 假设有一个类
class A
{
private String name;
public A()
{
super();
}
public String getName()
{
return this.name;
}
public void setName(String name)
{
this.name=name;
}
}
给我们一个实例 A a=new A();a.setName("我是一个兵");
让我们把a写到数据库,我们可以这样做
String name=a.getName();
....."insert into A (name) values (?) ...parameters new Object[]{name}
我们可以以硬编码的方式取出a.name
但是持久层就不可以了,持久层不可能提前写好这样的硬编码,也不可能预知。怎么办?这种情况下,我们引入java的反射机制
Class cls=a.getClass();
Method method=cls.getMethod("getName",new Class[]{});
System.out.println(method.invoke(a,null));
通过这种方式,我们也取得了a.name
好了,持久层为什么引入反射机制我们就说这些,更多反射资料请参考JDK文档
class A
{
private String name;
public A()
{
super();
}
public String getName()
{
return this.name;
}
public void setName(String name)
{
this.name=name;
}
}
给我们一个实例 A a=new A();a.setName("我是一个兵");
让我们把a写到数据库,我们可以这样做
String name=a.getName();
....."insert into A (name) values (?) ...parameters new Object[]{name}
我们可以以硬编码的方式取出a.name
但是持久层就不可以了,持久层不可能提前写好这样的硬编码,也不可能预知。怎么办?这种情况下,我们引入java的反射机制
Class cls=a.getClass();
Method method=cls.getMethod("getName",new Class[]{});
System.out.println(method.invoke(a,null));
通过这种方式,我们也取得了a.name
好了,持久层为什么引入反射机制我们就说这些,更多反射资料请参考JDK文档