Java代码即使应该返回也不会返回任何内容

时间:2016-09-08 22:52:35

标签: java oop

我刚接触Java OOP,我几乎不了解课程和内容。我试着写一些代码来理解,但我没有成功。这是我的代码,我期望它返回鸡蛋的数量,但我不知道为什么它什么都不返回。

class EggCounter {
    private int egg;
    {
        egg = 0;
    }
    public void eggAdd()
    {
        egg = egg + 1;
    }
    public void eggBreak()
    {
        egg = egg - 1;
    }
    public void eggAddDozen()
    {
        egg = egg + 12;
    }
    public int getEgg()
    {
        return egg;
    }

 }
public class EggTest
{
    public static void main(String[]args)
    {
        EggCounter egg = new EggCounter();
        egg.eggAdd();
        egg.eggAddDozen();
        egg.eggBreak();
        egg.getEgg();
    }
}

2 个答案:

答案 0 :(得分:2)

确实返回12。将主方法中的egg.getEgg();行替换为System.out.println(egg.getEgg());,您会发现它打印12

答案 1 :(得分:2)

它正在返回,只是你对getEgg的返回值一无所知。您需要做的是将其存储到变量中或使用它执行某些操作。 return <value>仅将给定值返回给被调用者,您必须将其存储才能使用它。例如:

int eggCount = egg.getEgg();
System.out.println(eggCount);

此处,eggCount来电egg.getEgg()的分配。当返回蛋的数量时,调用将结算,该返回值将返回值分配给eggCount。最后,它将打印出eggCount。如果您稍后需要egg.getEgg()的结果,则只需输出以下内容:

System.out.println(egg.getEgg());

这是如何工作的方法egg.getEgg()被调用。然后解析返回值,将其传递给print语句。这样就可以将它存储到以后可以使用的变量中。