Java 对象实例未显示toString方法中的值

Java 对象实例未显示toString方法中的值,java,object,Java,Object,我试图做的是从我的两个数组中获得一个随机值,我已经成功地做到了。我的问题是,当从我的Card类创建对象的实例时,我没有收到正确的输出。我希望我的输出类似于“红桃2”或“黑桃杰克”。相反,我没有输出,但代码运行成功 代码如下: import java.util.Random; public class Card { private static final String deckRanks[] = {"King", "Queen", "Jack", "Ace", "2", "3", "4

我试图做的是从我的两个数组中获得一个随机值,我已经成功地做到了。我的问题是,当从我的Card类创建对象的实例时,我没有收到正确的输出。我希望我的输出类似于“红桃2”或“黑桃杰克”。相反,我没有输出,但代码运行成功

代码如下:

import java.util.Random;

public class Card {
    private static final String deckRanks[] = {"King", "Queen", "Jack", "Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
    private static final String deckSuits[] = {"of Diamonds", "of Spades", "of Hearts", "of Clubs"};

    public static void main(String[] args) {

    }

    public static String getRandomCard(){ 
        String card;
        Random cardSelector = new Random();

        int randomRank = cardSelector.nextInt(deckRanks.length);
        int randomSuit = cardSelector.nextInt(deckSuits.length);

        card = deckRanks[randomRank] + " " + deckSuits[randomSuit];
        return card;
    }

    @Override
    public String toString(){
        return getRandomCard();
    }
}
以及具有Card对象实例的类:

public class CardHand {
    public static void main(String[] args) {
        Card cards = new Card();

        cards.getRandomCard();
    }
}

CardHand类中的主方法不会显示随机选择的卡

它应该看起来像下面这样

public class CardHand {
    public static void main (String[] args) {
        // create a new Card
        Card card = new Card();
        // show the output of the Card's toString() method in the console
        // remember that getRandomCard() is called when we call toString()
        System.out.println("Random card is: "+card.toString());
    }
}

您正在运行
CardHand
Card
?因为
Card.main()
为空。