当前位置: 首页 > 面试题库 >

void在Java中做什么?

申光临
2023-03-14
问题内容

返回类型-方法返回的值的数据类型;如果该方法未返回值,则返回void。

http://download.oracle.com/javase/tutorial/java/javaOO/methods.html

那好吧..这是我的问题:

public class EnumTest {
    Day day;

    public EnumTest(Day day) {
        this.day = day;
    }

    public void tellItLikeItIs() {
        switch (day) {
            case MONDAY: System.out.println("Mondays are bad.");
                         break;

            case FRIDAY: System.out.println("Fridays are better.");
                         break;

            case SATURDAY:
            case SUNDAY: System.out.println("Weekends are best.");
                         break;

            default:     System.out.println("Midweek days are so-so.");
                         break;
        }
    }

    public static void main(String[] args) {
        EnumTest firstDay = new EnumTest(Day.MONDAY);
        firstDay.tellItLikeItIs();
        EnumTest thirdDay = new EnumTest(Day.WEDNESDAY);
        thirdDay.tellItLikeItIs();
        EnumTest fifthDay = new EnumTest(Day.FRIDAY);
        fifthDay.tellItLikeItIs();
        EnumTest sixthDay = new EnumTest(Day.SATURDAY);
        sixthDay.tellItLikeItIs();
        EnumTest seventhDay = new EnumTest(Day.SUNDAY);
        seventhDay.tellItLikeItIs();


    }
}

http://download.oracle.com/javase/tutorial/java/javaOO/enum.html

上面的代码没有无效就无法工作。

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    The method tellItLikeItIs() is undefined for the type EnumTest

我错过了什么?为什么那里有空隙?并返回字符串吗?


问题答案:

代码无法运行的原因void是因为该System.out.println(String string)方法不返回任何内容,仅将提供的参数打印到标准输出终端(在大多数情况下为计算机监视器)。当方法返回“
nothing”时,您必须通过将void关键字置于其签名中来进行指定。

您可以在此处查看System.out.println的文档:

http://download.oracle.com/javase/6/docs/api/java/io/PrintStream.html#println%28java.lang.String%29

为了进一步解决这个问题,println是将计算作为“副作用”执行的方法的经典示例。



 类似资料:
  • 问题内容: 我正在查看路径查找教程,并且注意到方法内的一条语句(class ,行126): 我是Java的新手。谁能告诉我为什么它在那里?据我所知,内部不允许使用void方法。 问题答案: 它只是在此时退出该方法。一旦执行,其余代码将不会执行。 例如。 请注意,编译器足够聪明,可以告诉您某些代码无法到达:

  • 问题内容: 好的,我尝试查找或shift的含义,但是此站点对此进行了解释:http : //www.janeg.ca/scjp/oper/shift.html 如果和孩子说话,会是什么解释? 问题答案: 计算机是二进制设备。因此,数字由1和0的序列表示。 移位只是简单地左右移动那些1和0的序列。 因此,操作员要做的就是将这些位向右移一位。 考虑数字101: 在这种情况下,最低有效位被截断了。显然,

  • 问题内容: 在Java中,我刚刚发现以下代码是合法的: 仅供参考,接收方只是具有以下签名的帮助程序类: 我从未见过这种记法。这是如何运作的?有什么方法可以更常规地进行编码吗? 问题答案: 这是从包含的类主体外部实例化非静态内部类的方法,如Oracle docs中所述 。 每个内部类实例都与其包含类的实例相关联。当你从一个内部类 中 包含它的类,它使用的默认容器的实例: 但是,如果要在Foo外部创建

  • 问题内容: 用 Java 做什么?我阅读了文档,但仍然无法确定。 医生说: 返回可以从此输入流读取(或跳过)的字节数,而不会被该输入流的方法的下一个调用者阻塞。下一个调用者可能是同一线程或另一个线程。 类InputStream的可用方法始终返回0。 封锁 是什么意思?这仅表示同步通话吗? 最重要的是,该方法的目的是什么? 问题答案: 这里的阻塞与线程或同步无关。相反,它涉及到阻塞的IO(见本获取更

  • 问题内容: 在阅读Android通知指南时,我偶然发现了这一点: 增加振动 您可以使用默认振动模式或应用程序定义的振动模式来警告用户。 要使用默认模式,请将“ DEFAULT_VIBRATE”添加到默认字段: 这样做很清楚:它将标志添加到通知对象的默认标志。但是,运算符在Java中做什么?它看起来像一个“ OR”,但是它如何工作? 您可以举一个使用数字的例子吗? 谢谢 问题答案: 是按位或分配运算

  • 问题内容: 最近,我发现自己需要确保清单不正确。Hibernate非常好,可以完美地返回它。愚蠢的冬眠,没有读懂我的想法。 我看了看我的Java API,它告诉我它的shuffle方法是这样做的: 使用默认的随机性源随机排列指定的列表。 作为我的好奇乔治,我想知道这到底意味着什么。我可以选一门数学课程来学习吗?我可以看到代码吗?Java,您对我的ArrayList做什么?!?!? 更具体地说,这里