返回类型 - 方法返回的值的数据类型,如果方法未返回值,则返回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
我错过了什么? 为什么那里有空白? 它确实返回一个字符串?
答案 0 :(得分:14)
你的意思是tellItLikeItIs
方法?是的,您必须指定void
以指定方法不返回任何内容。所有方法都有指定了返回类型,即使它是void
。
它当然不会返回一个字符串 - 看,在任何地方都没有返回语句。为什么你认为 返回一个字符串并不是很清楚。它是打印字符串到控制台,但这与从方法中返回一个字符串不同。
答案 1 :(得分:9)
代码在没有void
的情况下无法工作的原因是因为System.out.println(String string)
方法没有返回任何内容,只是将提供的参数打印到标准输出终端,在大多数情况下是计算机监视器。当方法返回“无”时,您必须通过将void
关键字放在其签名中来指定。
您可以在此处查看System.out.println的文档:
http://download.oracle.com/javase/6/docs/api/java/io/PrintStream.html#println%28java.lang.String%29
为了进一步解决这个问题,println是一种将计算作为“副作用”执行的方法的典型示例。
答案 2 :(得分:0)
虚空不会返回任何东西;它告诉编译器该方法没有返回值。
答案 3 :(得分:0)
void
表示它什么都不返回。它不返回一个字符串,你将一个字符串写入System.out
,但你没有返回一个字符串。
您必须指定方法返回的内容,即使您只是说它什么都不返回。
从技术上讲,他们可以设计这样的语言,如果你不写一个返回类型,那么它被假定为什么都不返回,但是让你明确写出void
有助于确保缺少返回值是故意的而不是偶然的。
答案 4 :(得分:0)
当返回类型为void时,您的方法不会返回任何内容。
再看一下你的代码:那个方法没有回报。您打印到控制台并退出。
答案 5 :(得分:0)
Void:类型修饰符void表示main方法不返回任何值。方法的所有参数都在括号之前的内部声明。这里String args []声明了一个名为args的参数,该参数包含类类型为string的对象数组。