Type de retour: le type de données de la valeur renvoyée par la méthode, ou void si la méthode ne renvoie pas de valeur.Que fait void dans java?
http://download.oracle.com/javase/tutorial/java/javaOO/methods.html
D'accord, alors .. Voici ma question:
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
Le code ci-dessus ne fonctionne pas sans vide.
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The method tellItLikeItIs() is undefined for the type EnumTest
Qu'est-ce qui m'a manqué? Pourquoi y a-t-il un vide? Et cela renvoie-t-il une chaîne?
Toutes les méthodes dans Java doivent être un type de retour.Vide dit à la machine virtuelle que cette méthode spécifique ne retournera rien –
Ils ont choisi le vide car il va main et main avec "null". J'aurais préféré qu'ils utilisent "vide" (ce qui semble bizarre, mais ne le serait pas si nous l'aurions utilisé depuis 20 ou 30 ans.) – corsiKa
Vous ne pouvez pas supprimer le mot "vide" ici parce que c'est ce que la structure de la Les définitions des méthodes exigent que vous spécifiiez tourner le type; vous * devez * l'écrire quelque part. Et c'est juste devant le nom de la méthode. –