存储静态数据的Java类

时间:2014-06-01 18:53:33

标签: java

我想在我的代码中存储大量静态数据,而且我不确定这样做的最佳方法。例如,我想存储一些字段,如名字,姓氏,地址和电话号码。我想将它存储给几个不同的用户。

我最初的想法是,我创建了一个包含我想要的字段的类,然后我将该类设置为嵌套类。我将使外部类单例并具有内部类的ArrayList。然后,我将实例化内部类的几个副本。我觉得这会很糟糕,因为我不想实例化一个类的几个副本。我想要一个包含所有信息的课程。

任何人都知道我该怎么做?

3 个答案:

答案 0 :(得分:2)

我希望我帮到你。您似乎希望拥有一组常量(不可变)Person对象。如果是真的,枚举就是你要找的东西。你可以有类似的东西:

enum Person {
        Kent("myLast","Kfirst","kfoo"),
        Someone("sLast", "sFirst", "sfoo");

        private String lastname;
        private String firstname;
        private String foo;

        Person(String lastname, String firstname, String foo) {
            this.lastname = lastname;
            this.firstname = firstname;
            this.foo = foo;
        }

        public String getLastname() {
            return lastname;
        }

        public String getFirstname() {
            return firstname;
        }

        public String getFoo() {
            return foo;
        }
    }

你可以通过以下方式获得字段值:

Person.Kent.getFirstname();

我不确定我是否理解你。

答案 1 :(得分:0)

您要找的是inheritance。您可以拥有一个名为Person的类,其中包含您需要的所有字段(以及适当的方法)。然后你可以拥有其他专业人士,比如Manager或不是extend那个类(如果你愿意,那就是。或者,你可以实例化一个Person)。

在要在类的对象之间共享数据时使用static。如果你有名字和年龄,比如静电那么你会在热水中。你需要它们是非静态的。这样每个对象都有自己的字段副本。

看看:http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html

答案 2 :(得分:0)

如何使用所有需要的常量创建一个接口?

然后,您想要包含这些静态值的每个类都将实现该接口吗?