我正在学习面向对象的Java,当我想要调用我的displayOldestAge()方法时,我被卡住了,这个方法是到我的主文件的类Player中的。
我有一个名为Player的类,其中包含displayOldestAge()方法:
import java.util.*;
public class Player {
public String name;
public int age;
public boolean sex;
public Player(String name, int age, boolean sex){
this.name = name;
this.age = age;
this.sex = sex;
}
public void display(int number){
System.out.println("-----------------------");
System.out.println("Number : " + number);
System.out.println("Name : " + name);
System.out.println("Age : " + age);
System.out.println("Sex : " + sex);
}
public static void displayOldestAge(List<Player> players){
if (players.size() == 0) return;
Player oldestPlayer = players.get(0);
for (Player player : players){
if (player.age > oldestPlayer.age){
oldestPlayer = player;
}
}
System.out.println("The player oldest age is " + oldestPlayer.name + ", Age: " + oldestPlayer.age);
}
}但是,当我想对文件main调用这个方法时,我会收到一条错误消息:
Main.java:9: error: cannot find symbol
displayOldestAge(players);
^
symbol: method displayOldestAge(List<Player>)
location: class Main
1 error在我的主文件中,我有以下内容:
import java.util.*;
class Main {
public static void main(String[] args) {
List<Player> players = new ArrayList <Player>();
players.add(new Player("Eric", 31, true));
displayOldestAge(players);
}
}我不明白?我的方法调用不正确吗?
发布于 2021-04-17 00:51:02
displayOldestAge函数是静态函数。并且该函数不是主类的成员函数。所以你必须像这样打电话。
Player.displayOldestAge(players)https://stackoverflow.com/questions/67129149
复制相似问题