【问题标题】:I do not understand how keyword NEW in Java was used here [duplicate]我不明白这里如何使用 Java 中的关键字 NEW [重复]
【发布时间】:2016-01-19 21:50:24
【问题描述】:

我是 java 新手,但我的理解是关键字 new 出现在构造函数之前。但是,在 Oracle 的 Java 教程中的这个示例中,情况并非如此。

public static int numSuits = 4;
public static int numRanks = 13;
public static int numCards = numSuits * numRanks;

private Card[][] cards;

public Deck() {
    cards = new Card[numSuits][numRanks];
    for (int suit = Card.DIAMONDS; suit <= Card.SPADES; suit++) {
        for (int rank = Card.ACE; rank <= Card.KING; rank++) {
            cards[suit-1][rank-1] = new Card(rank, suit);
        }
    }
}

卡是类,我不明白这行是什么意思:

cards = new Card[numSuits][numRanks];

谁能解释一下这行代码是什么意思。

【问题讨论】:

  • 这是一种初始化数组的方法
  • 这是一种>>anew 关键字的方法。也许这就是令人困惑的 I.D.
  • @StephenC 我很怀疑不了解 Java 数组的人是否会被反射实例化选项弄糊涂。
  • @chrylis int[][] a = {{1,2}, {3,4}}; 呢?
  • @chrylis - 欧文怎么说...

标签: java


【解决方案1】:

在这种情况下,new Card[numSuits][numRanks] 正在实例化一个二维卡片数组,而不是 Card 类本身。稍后实例化 Card 类,在 2 个 for 循环中为 new Card(rank, suit);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 2021-12-29
    • 2017-11-16
    • 2022-11-16
    • 1970-01-01
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多