静态变量,在我的公共类中的静态方法中从类创建新变量

时间:2014-07-27 20:35:23

标签: java static-methods static-variables

好的,这段代码工作得比较早,但突然之间,java告诉我,我无法引用两个停止对象(原点和目的地)我试图在静态循环中创建上下文,但我没有引用它们,我每次迭代都会创建一个新的临时对象,我在这里缺少什么?这个方法在我的公共类中。 错误只是说:非静态变量不能从静态上下文引用,它表示//问题区域

static void initializePassengers()
    throws FileNotFoundException, IOException, NullPointerException
{
     FileReader fr = new FileReader(pathto+"passengers.csv");
     BufferedReader textReader = new BufferedReader(fr);
     try { 
         while(!textReader.readLine().isEmpty()) {
             String temp=textReader.readLine();
             StringTokenizer te = new StringTokenizer(temp,",",false);
             String name=te.nextToken();
             Stop origin = new Stop(te.nextToken());  //problem area
             Stop destination = new Stop(te.nextToken()); //problem area
             allpassengers.add(new Passenger(name, origin, destination));
         }                
     } catch(NullPointerException e){
         System.out.println(e.getMessage());
     }                     
     textReader.close();
}

1 个答案:

答案 0 :(得分:0)

由于您暗示有问题的行是allpassengers.add(new Passenger(name, origin, destination)), 我假设allpassengers是非静态成员。您应该将其设置为静态,以便从静态方法访问它。