我有一个Game类和一个TestGame类,我正在尝试从Game到TestGame调用一个方法。
TestGame.java
public class TestGame {
Players ceri = new Players("Ceri", 1);
Players harry = new Players("Harry", 1);
Players lewis = new Players("Lewis", 1);
Players kwok = new Players("Kwok", 1);
Players james = new Players("James", 1);
Players matthew = new Players("Matthew", 1);
Game league = new Game("League Table");
league.addplayer(ceri);
public static void main(String[] args) {
}
}
和Game.java
public class Game {
private String name;
public Game(String name){
this.name = name;
}
public void addPlayer(Players obj){
}
}
由于某种原因,我在league.addPlayer
下面出现了红线。
答案 0 :(得分:5)
league.addplayer(ceri);
是代码,不是初始化。
您需要将其放在方法内或初始化块内。
在这种情况下,请将其放在main
方法中。
答案 1 :(得分:2)
您必须将所有这些行移至main()方法:
Players ceri = new Players("Ceri", 1);
Game league = new Game("League Table");
league.addplayer(ceri);
如果只移动最后一个,联盟和 ceri 变量将无法访问,因为主要方法是静态方法,这些变量会是实例变量。
答案 2 :(得分:0)
您的所有Players
(和Game
)都在类正文中声明。这使它们具有默认级别访问权限的全局变量。除了蒂姆B的回答之外还有一点需要注意。
答案 3 :(得分:0)
您应该将代码放在主要区块内。
public static void main(String[] args)
{
league.addplayer(ceri);
}