可以在多个类中访问相同的LinkedList吗?

时间:2015-07-25 15:15:22

标签: java linked-list jframe

听我说,我想创建一个单链表,根据用户输入的内容,这将取一个属性,这是一帧。

但是,我希望能够在另一个框架(或类)中使用相同的链接列表,以便我可以显示它。存储在链表中的数据是否可能在其他地方保存和访问?

2 个答案:

答案 0 :(得分:2)

嗯,变量可以有各种修饰符:

私人和公众将是两个。如果变量(例如LinkedList)是私有的,那么只有该变量所在的类才能(直接)访问它。

如果您希望可以从其他对象访问变量,则必须将其声明为public,或者为其创建公共“setter”方法,例如......

private LinkedList myLinkedList;

public LinkedList getMyLinkedList() {
   return myLinkedList;
}

这样,每个知道你所声明的变量的类对象的类都可以访问它。在您的情况下,您可以在知道JFrame的任何地方访问myJFrame.getmyLinkedList();

当然,这不是唯一的方法,你可以反过来这样做,并在你创建它时将LinkedList设置为Object。例如,当您进入JFrame时,可以调用...

new MyOtherclass( myLinkedList );

...将LinkedList作为参数调用构造函数为“MyOtherclass”。当然,您必须编写此构造函数,例如......

public MyOtherclass(LinkedList aLinkedList) {
 super();
 this.myLinkedList = aLinkedList;
}

答案 1 :(得分:0)

创建一个包装类,假设MyList并使用静态方法更新/检索列表对象。

public final class MyList {

    private static final List<String> list = new ArrayList<String>();

    private MyList() {
    }

    public static void add(String thing) {
        list.add(thing);
    }
}

您可以像MyList.add("string")一样使用它。您还可以为deletegetcount等添加静态方法。