我正在尝试使ArrayList公开(在Java中),以便可以在其他类中访问它,我在做什么错呢?

时间:2018-08-11 20:41:14

标签: java arraylist

出现错误,我不确定在不访问另一个类中的ArrayList时应该怎么做

package LifeGame;
import java.util.ArrayList;
public class Lists {

    public static void main(String[] args) {
    public ArrayList<String> tasks = new ArrayList<String>(); { // error on `tasks`
        tasks.add("Phone");
    }

    }
}

3 个答案:

答案 0 :(得分:1)

方法内部的变量只能通过名称从同一方法内部访问。类成员(方法之外定义的变量)是唯一可以公开,私有等的成员。

答案 1 :(得分:0)

您必须在方法之外将其声明为类成员

package LifeGame;
import java.util.ArrayList;
public class Lists
{
   public static ArrayList<String> tasks;

    public static void main(String[] args)
    {
        tasks =  new ArrayList<String>();
        tasks.add("Phone");
   }
}

因此您可以在任何地方使用它。例如:

import java.util.ArrayList;

public class Lists {
    public static ArrayList<String> tasks;

    public Lists() {
        tasks = new ArrayList<String>();
    }
    public void addTask(String task) {
        tasks.add(task);
    }
    public ArrayList<String> getTasks(){
        return tasks;
    }
    public void printTasks() {
        System.out.println(tasks);
    }
    public static void main(String[] args) {
        Lists l = new Lists();

        l.addTask("Phone");
        l.addTask("Clean");
        l.printTasks();

    }

}

希望这会有所帮助。

答案 2 :(得分:-1)

您的代码应为:

package LifeGame;
import java.util.ArrayList;
public class Lists {

  public static void main(String[] args) {
     ArrayList<String> tasks = new ArrayList<String>(); 
     tasks.add("Phone");    
  }
}