Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中构建和构造_Java_Oop - Fatal编程技术网

如何在Java中构建和构造

如何在Java中构建和构造,java,oop,Java,Oop,我想定义一个具有我的表名的字符串对象,并且在每个表中我都可以访问我的列行名 让我举例说明: 我有两张桌子;任务和部件 在任务中,我有两列;id和任务名 在零件表中,我也有两列;身份证和姓名 现在,我想知道如何定义一个对象,以便可以通过以下方式访问任何列的名称: TABLE.tasks.parts 我想要像这样的东西,但是这个错了 public final class TABLES { public final static String TASKS = "tasks";

我想定义一个具有我的表名的字符串对象,并且在每个表中我都可以访问我的列行名

让我举例说明:

我有两张桌子;任务和部件

在任务中,我有两列;id和任务名

在零件表中,我也有两列;身份证和姓名

现在,我想知道如何定义一个对象,以便可以通过以下方式访问任何列的名称:

TABLE.tasks.parts
我想要像这样的东西,但是这个错了

public final class TABLES {

    public final static String TASKS    = "tasks";
    public final static String CHUNKS   = "chunks";

    public final static class TASKS{

        public final String COLUMN_ID        = "id";
        public final String COLUMN_NAME      = "taskName";
    };

    public final static class CHUNKS{

        public static final String COLUMN_ID        = "id";
        public static final String COLUMN_NAME      = "name";
    };

}

这不是正确的方法。 如果需要数据库,请使用类似SQLite的数据库。 如果需要对象,可以这样做:

public class Tables{

public final static Task task;
public final static Chunk chunk;

// or ArrayList<Tasks> tasks if there is more than one task/chunk

}
和Chunk.java:

public class  Chunk{

    public final String id;
    public final String name;

}

您应该使用用户界面。每当你们想在你们的应用程序中使用这些竞争者时,只要实现一个只有常量的接口就行了

public final class TABLES implements TASKS, CHUNKS{
    public static void main(String[] args) {
        System.out.println(TASKS.COLUMN_ID);    
        System.out.println(CHUNKS.COLUMN_ID);   
    }
}

interface TASKS{
    public final String COLUMN_ID        = "id";
    public final String COLUMN_NAME      = "taskName";
}

interface CHUNKS{
    public static String COLUMN_ID        = "id";
    public static String COLUMN_NAME      = "name";
}
例如:

public class TripleField {

public static void main(String[] args) {
    System.out.println(TABLE.tasks.id);
    System.out.println(TABLE.tasks.taskName);
}
}

final class TABLE {
final static TASKS tasks = new TASKS();
}

class TASKS {
final String id = "myID";
final String taskName ="myTaskName";
}

Java持久性API JPA可以做到这一点,甚至更多。我对NetBeans IDE中的参考JPA实现eclipseLink的支持印象深刻

它可以将数据库的一部分转换为数据库模型类,就像前面提到的那样。以及具体的数据访问对象类。此外,还有一个CriteriaAPI,用于以这种方式构建整个SQL选择

请注意,生成模型类比基本JPA更进一步。您必须进行一些internet搜索,或者从数据库中尝试NetBeans/New/Persistence/Entity类

Netbeans支持。 纯JPA-基本上没有您想要的生成模型类,但是要掌握基本JPA。
我想你只需要为课程做最后的静态化。我不确定你在寻找什么,但是你是否考虑过使用EnUM?你似乎正在尝试创建一个反映一些关系模式的java对象,对吗?如果是这样,我建议你要么看看JPA,要么看看完全不同的东西,比如jOOQ。如果不是,或者如果你只是想要一些架构的轻量级图片,那么就使用enum。我总是按照你说的那样做。现在我想找个地方把所有表的列名都放进去,这样就可以方便地访问它们了。所以请使用我上面评论中的ArrayList,然后您就可以使用Tables.task.geti.id访问它们了
public class TripleField {

public static void main(String[] args) {
    System.out.println(TABLE.tasks.id);
    System.out.println(TABLE.tasks.taskName);
}
}

final class TABLE {
final static TASKS tasks = new TASKS();
}

class TASKS {
final String id = "myID";
final String taskName ="myTaskName";
}