方法调用不起作用

时间:2018-04-16 21:07:23

标签: java oop

主方法结束时的方法调用给出了一个错误说"非静态方法不能从静态上下文中引用"我不确定我在方法调用中做错了什么。

    public static void main(String[] args) 
 { 
   ArrayList<Candidate> voteCount = new ArrayList<Candidate>();
   //add objects to voteCount

   printListResults(voteCount);
   totalListVotes(voteCount);
   printListTable(voteCount);
}
 public void printListResults(ArrayList<Candidate> election) 
{ 
    //some code
}
public int totalListVotes(ArrayList<Candidate> election) 
{ 
    //some code
}
public void printListTable(ArrayList<Candidate> election) 
{ 

        //some code
    }

2 个答案:

答案 0 :(得分:1)

您只需要将这些方法声明为静态

public static void printListResults(ArrayList<Candidate> election) { 
    //some code
}
public static int totalListVotes(ArrayList<Candidate> election) { 
    //some code
}
public static void printListTable(ArrayList<Candidate> election) { 
    //some code
}

另一种方法是实例化你的类的一个对象,正如JoschJava的答案所指出的那样。无论哪种方式都可行。您选择哪种方法部分取决于品味,部分取决于您的应用需求(超出了本问题的范围)。

答案 1 :(得分:0)

问题在于您尝试从静态方法调用类方法。您需要实例化您的类:

YourClass classObj = new YourClass();
classObj.printListResults(voteCount);