主类中的变量

时间:2015-04-25 04:30:44

标签: java main

所以我正在编写游戏War,我需要将所有方法都放在主类中。由于某些错误,我无法初始化变量。

public class Main {
    public Player<Card> player1 = new Player<Card>();
    public Player<Card> player2 = new Player<Card>(); 
    public Player<Card>[] players = new Player[2];
    players[0] = player1;
    players[1] = player2;
public static void main(String[] args) {



 }


}

在这些代码行中,在我创建数组之后,我收到一条错误消息: “此行的多个标记

  • 类型安全:Player []类型的表达式需要未经检查的转换以符合Player []

  • 令牌“;”上的语法错误,{此标记之后的预期“

Player类正在扩展一堆Card类型。 欢迎任何建议。

感谢。

3 个答案:

答案 0 :(得分:4)

诸如

之类的陈述
players[0] = player1;
players[1] = player2;

不能在方法或构造函数之外完成。

您可以将它们放在构造函数中:

public Main () {
    players[0] = player1;
    players[1] = player2;
}

答案 1 :(得分:0)

如果您想在Main:

之外进行,可以使用初始化程序块
class Main {
    public Player<Card> player1 = new Player<Card>();
    public Player<Card> player2 = new Player<Card>();
    public Player<Card>[] players = new Player[2];

    {
        players[0] = player1;
        players[1] = player2;
    }
    public static void main(String[] args) {
    }
}

或者,提供构造函数并初始化该构造函数中的实例变量(players / 1/2)。

答案 2 :(得分:0)

我想如果你不打算在构造函数中初始化变量,你可以在类中使用静态块,你必须使变量静态并尝试

static {
      players[0] = player1;
      players[1] = player2;
 }