簡體   English   中英

void在void中做了什么?

[英]What does void do in java?

返回類型 - 方法返回的值的數據類型,如果方法未返回值,則返回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

如果沒有void,上面的代碼不起作用。

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

我錯過了什么? 為什么那里有空白? 它確實返回一個字符串?

你的意思是tellItLikeItIs方法? 是的,您必須指定void以指定該方法返回任何內容。 所有方法必須指定返回類型,即使它是void

它肯定不會返回一個字符串 - 看,在任何地方都沒有返回語句。 為什么你認為返回一個字符串,它不是真的清楚。 它正在向控制台打印字符串,但這與從方法中返回一個字符串不同。

代碼在沒有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是一種將計算作為“副作用”執行的方法的典型示例。

Void:類型修飾符void表示main方法不返回任何值。 方法的所有參數都在括號之前的內部聲明。 這里String args []聲明一個名為args的參數,該參數包含類類型字符串的對象數組。

虛空不返回任何東西; 它告訴編譯器該方法沒有返回值。

void意味着它什么也不返回。 它不返回一個字符串,你將一個字符串寫入System.out但你沒有返回一個。

您必須指定方法返回的內容,即使您只是說它什么都不返回。

從技術上講,他們可以設計這樣的語言,如果你不寫一個返回類型,那么它假定什么都不返回,但是讓你明確寫出void有助於確保缺少返回值是故意的而不是偶然的。

當返回類型為void時,您的方法不會返回任何內容。

再看一下你的代碼:那個方法沒有回報。 您打印到控制台並退出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM