揭開「'void' type not allowed here」錯誤背後的秘密
遇到「void type not allowed here」錯誤可以是令人費解。為了理解它的重要性,讓我們深入研究它的脈絡。
考慮下面的程式碼片段:
class obj { public static void printPoint(Point p) { System.out.println("(" + p.x + ", " + p.y + ")"); } public static void main(String[] arg) { Point blank = new Point(3, 4); // This line generates the error System.out.println(printPoint(blank)); } }
嘗試編譯此程式碼時,您會遇到錯誤訊息:
obj.java:12: 'void' type not allowed here System.out.println(printPoint(blank)); ^ 1 error
出了什麼問題?
錯誤的根源在於 printPoint 方法。它的聲明指定它會傳回 void,這表示它不傳回任何值。因此,main 方法嘗試列印 printPoint 的回傳值(void)會導致「此處不允許使用 void 類型」錯誤。
錯誤訊息的意思是什麼?
錯誤訊息清楚地表明方法的回傳類型決定了可以對其回傳值執行什麼操作。在這種情況下,由於 printPoint 方法傳回 void,因此無法使用 System.out.println() 列印其傳回值。
解決方案
修正此問題,您需要修改程式碼以消除 printPoint 回傳值的不必要列印。相反,您應該直接呼叫 printPoint 方法,如下所示:
printPoint(blank);
這將消除類型不匹配並允許程式碼正確編譯和執行。
以上是為什麼 Java 會拋出「此處不允許『void』類型」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!