如何在java中动态创建数据对象?

时间:2012-11-12 20:48:14

标签: java object dynamic data-objects

我正在研究Java中的数据对象

我有动态创建数据对象的问题。

例如,

我们有......

public class tasks {
private int vmnumber; 
private int tasknumber;
private String status;
public tasks(int vmnumber , int tasknumber , String status) {
this.vmnumber = vmnumber;
this.tasknumber = tasknumber;
this.status = status; }

并且有一些getvmnumber gettasknumber,getstatus和一些设置函数

我对创建数据对象的理解是每次必须初始化。

例如,在主文件中,

public class task{
public static void main(String [] args){
task t = null , t2 = null;

t = new task();
t.tasknumber = 3;
t.vmnumber = 4;
t.status = "Start";

t2 = new task();
t.tasknumber = 2;
t.vmnumber = 1;
t.status = "Wait";
}

然而,我想我们如何动态创建数据对象,因为程序可能实时获取任务信息。(然后我们无法手动创建数据对象,我们需要一些可以创建数据对象的东西动态...)

其次,我想知道如何从数据对象中获取数据。

例如,如果我们想要找到任务编号3的所有信息,我该怎么办? 比方说,我们有task1,task2,task3数据对象,我们希望看到task1的所有信息。那我该怎么办?

感谢

1 个答案:

答案 0 :(得分:1)

从你的问题中可以讨论几点。

我想你想要创建新任务,这可能是用户对应用程序的请求,或者是webservice,批处理......

嗯,您已经知道如何创建对象:使用new关键字。根据原始请求,您的主要功能可能必须创建同一类的多个实例,“任务”。

此外,当您实例化“任务”类时,您永远不会想要直接将值分配给它的属性。

因此,您应该编码:t.tasknumber = 3

,而不是编码t.setTaskNumber(3)

此外,您应该重命名类的属性以反映JavaBeans约定: - private int taskNumber代替tasknumber

当然,这只是一种惯例,并不是您的计划中的强制性要求。但它有助于生成getter / setter,而且,这是一个惯例: - )

要在创建的任务中检索“信息”,您只需要调用getter: - myTask.getTaskNumber()

希望这对你有所帮助。