I';我试图将ArrayList公开(在java中),以便可以在不同的类中访问它,我做错了什么?

I';我试图将ArrayList公开(在java中),以便可以在不同的类中访问它,我做错了什么?,java,arraylist,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`

有一个错误,我不确定如果不在另一个类中访问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");
    }

    }
}
package生活游戏;
导入java.util.ArrayList;
公开班级名单{
公共静态void main(字符串[]args){
public ArrayList tasks=new ArrayList();{//关于'tasks'的错误`
任务。添加(“电话”);
}
}
}

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

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

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");
   }
}
package生活游戏;
导入java.util.ArrayList;
公开班级名单
{
公共静态数组列表任务;
公共静态void main(字符串[]args)
{
tasks=newarraylist();
任务。添加(“电话”);
}
}
所以你可以在任何地方使用它。例如:

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();

    }

}
import java.util.ArrayList;
公开班级名单{
公共静态数组列表任务;
公开名单(){
tasks=newarraylist();
}
公共void addTask(字符串任务){
任务。添加(任务);
}
公共数组列表getTasks(){
返回任务;
}
公共任务(){
System.out.println(任务);
}
公共静态void main(字符串[]args){
列表l=新列表();
l、 addTask(“电话”);
l、 addTask(“Clean”);
l、 打印任务();
}
}
希望这有帮助。

您的代码应该是:

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

  public static void main(String[] args) {
     ArrayList<String> tasks = new ArrayList<String>(); 
     tasks.add("Phone");    
  }
}
package生活游戏;
导入java.util.ArrayList;
公开班级名单{
公共静态void main(字符串[]args){
ArrayList tasks=新建ArrayList();
任务。添加(“电话”);
}
}

public
(或任何访问)修饰符不能在方法中使用。在方法外部声明数组列表。发布代码,而不是代码的图像。您需要的是类成员而不是方法变量。方法中的变量不能有访问修饰符。此外,
add
周围的块(
{}
)也没有任何用处。看起来您试图使用双大括号初始化;你没有,但是不要。