本文主要是介绍Java之反射与单级VO操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在讲关于反射与单级VO操作之前,我们先来看一个问题:
要求:在主方法中将指定类(该类中构造方法只有无参构造)的所有属性设置指定的值,我们传统的做法如下所示:
(1)定义一个类,假设该类含有两个属性,该类中也定义了各属性对应的的setter()和getter()方法
(2)在主方法中,通过实例化类对象利用setter()和getter()方法将两个属性值进行设置
(3)根据(1)(2)步所讲,编写代码如下所示:
class Person{private String name;private String job;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getJob() {return job;}public void setJob(String job) {this.job = job;}
}
public class Test {public static void main(String[] args) {Person person=new Person();person.setName("张三");person.setJob("程序员");System.out.println(person.getName());System.out.println(person.getJob());}
}
运行结果如下所示:
张三
程序员
那么问题来了:假设一个类(如Person类)中存在十几个甚至更多的属性,那么依据以上代码就需要在主方法中调用十几次甚至更多次的setter()方法,这样的操作太过麻烦!
现在希望能够对程序做简化,输入字符串"属性名:属性值|属性名:属性值|属性名:属性值|...",将某个类中的属性值一次设置好。那么既然是编写程序将某个类进行一次设置好其所有属性的值,那么能不能将任意类中的所有属性通过输入字符串"类名.属性名:属性值|类名.属性名:属性值|类名.属性名:属性值|..."设置好其对应类的所有属性值呢?
这就需要反射实现该操作!
下面我带大家一起来分析整个程序设计的思路:
(1)由于字符串传入的入口是主类(如Test)中的
这篇关于Java之反射与单级VO操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!