Ce n'nul n'en java?

Le type de retour—le type de données de la valeur retournée par la méthode, ou nulle si la méthode ne retourne pas de valeur.

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

Ok, 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 nuls.

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

Qu'ai-je manqué?
Pourquoi est-il vide?
Et elle retourne une chaîne de caractères?

Toutes les méthodes en Java doit être un type de retour. vide dire à la machine virtuelle que la méthode ne retourne rien.
Ils ont choisi vide, car il va de pair avec la valeur "null". J'aurais préféré qu'ils utilisés "vide" (qui sonne un peu étrange, mais ne le ferions pas si nous avions l'ai utilisé pendant 20 ou 30 ans.)
Vous ne pouvez pas supprimer le mot void ici parce que c'est ce que la structure de la langue exige. Définitions de méthodes attendons de vous que vous spécifiez le type de retour; vous de l'écrire quelque part. Et c'est juste en face du nom de la méthode.

OriginalL'auteur Alice | 2011-09-09