Java打印输出奇怪的数字

Java打印输出奇怪的数字,java,Java,我有一个简单的Java程序来生成一个随机骰子-代码如下: 掷骰子类 class Dice { private int face; public Dice() { System.out.println(face()); } public int getFace() { return face; } public void setFace(int face) { this.f

我有一个简单的Java程序来生成一个随机骰子-代码如下:

掷骰子类

class Dice
{
    private int face;

    public Dice()
    {
        System.out.println(face());
    }

    public int getFace()
    {
        return face;
    }

    public void setFace(int face)
    {
        this.face = face;
    }

    private int face()
    {
        face = (int)(Math.random() * 7);
        return face;
    }
}
主类

class John
{
    public static void main (String [] args)
    {
        Dice dice = new Dice();
        System.out.println(dice);
    }
}
当我执行println时,它会返回以下内容:

5
Dice@6d06d69c
我不知道为什么会有Dice@6d06d69c. 为什么会出现这种情况?我如何修改它以防止它出现

多谢各位

System.out.printlndice

Java在此调用Dice类的toString方法

Dice@6d06d69c

您没有为Dice类提供自己的toString实现,所以调用了Object类中toString的默认实现

如果您更感兴趣,请参阅java文档: