无法调用方法?

时间:2014-07-23 14:40:03

标签: java

我有一个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下面出现了红线。

4 个答案:

答案 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);
}