0

我有一个名为 Person(name, surname, age) 的对象,该对象由本地文件中的值填充。但我想通过应用程序保持这个对象可见,因为有一个 GUI 可以向它添加新值。我试图放置这样的接口但不起作用

 public interface MyInterface{

    public List<Person> myPersonObj = new ArrayList<Person>();

}

并在应用程序中调用它,例如MyInterface.myPersonObj 有人可以帮助我吗?谢谢

4

3 回答 3

1

您必须声明变量静态,例如

public static (final) List<Person> persons = new ArrayList();

有关更多信息,请阅读单格顿模式

于 2013-02-24T12:54:00.460 回答
0

因为它在一个接口中,它会自动成为final(只读),因此您可能希望将它放在一个类中:

public class AnyClass{
  public static List<Person> myPersonObj = new ArrayList<Person>();
}

然后你可以这样做:

AnyClass.myPersonObj

访问它。

于 2013-02-24T12:54:07.490 回答
0

使列表在您填充它的类中成为静态的。

class Populate{
    public static List<Person> myPersonObj;
    public static void setMyPersonObj(List<Person> inst){
         myPersonObj =inst;
     } 
    public static List<Person> getMyPersonObj(){
        if(MyPersonObj!=null){
          return myPersonObj;
       }
       else {
         return new ArrayList<Person>();
       }
    } 
   //populate it 
}

class SomeOther {
public static void someMethod(){
  Populate.getMyPersonObj();
}

}

于 2013-02-24T12:54:13.683 回答