我想在我的代码中存储大量静态数据,而且我不确定这样做的最佳方法。例如,我想存储一些字段,如名字,姓氏,地址和电话号码。我想将它存储给几个不同的用户。
我最初的想法是,我创建了一个包含我想要的字段的类,然后我将该类设置为嵌套类。我将使外部类单例并具有内部类的ArrayList。然后,我将实例化内部类的几个副本。我觉得这会很糟糕,因为我不想实例化一个类的几个副本。我想要一个包含所有信息的课程。
任何人都知道我该怎么做?
答案 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)
如何使用所有需要的常量创建一个接口?
然后,您想要包含这些静态值的每个类都将实现该接口吗?