回答
在Java中,哪裏可以出現return語句?除了在一個方法/構造函數體?
只能在構造函數或方法:
JLS - http://java.sun.com/docs/books/jls/second_edition/html/statements.doc.html#6767
return語句將控制返回到的方法調用者(8.4節,§15.12)或構造函數(§ 8.8,§15.9)。
此外,有沒有東西,可以通過構造函數返回?
沒有
JLS - http://java.sun.com/docs/books/jls/second_edition/html/statements.doc.html#6767
與表達必須包含在一個方法聲明聲明爲返回值的return語句(§8.4)或a發生編譯時錯誤。
或者我只能用 「迴歸」;沒有任何表達之後?
是
JLS - http://java.sun.com/docs/books/jls/second_edition/html/statements.doc.html#6767
不帶表達式的return語句必須在聲明的方法體使用關鍵字void包含,不返回任何值(§8.4),或在構造函數的主體中(§8.8)
您可以在返回類型爲void的方法中使用不帶值的返回值。在其他方法中,這是不可能的。
例如
public void test(String s) {
if (s.equals("")) {
return;
}
}
構造函數不應該有其體內的return語句,因爲一個構造函數定義沒有返回類型。
編輯:正如喬恩Skeet指出,構造函數可以有沒有值的返回語句,但在大多數情況下,這是不使用。
return
語句可以出現在方法或構造函數中。
返回值應該跟值的方法返回類型兼容。如果方法是void返回不返回任何東西。
構造函數完全沒有返回類型(根據定義)。因此,如果您將return語句寫入構造函數中,則不應該有任何值。
我不確定在哪裏可以使用返回語句(或者完全按照說明書的說法)。它們在方法中最常用於返回值(或者結束沒有返回值的方法)。
構造函數不能返回任何值。調用構造函數將讓虛擬機根據您創建的對象的大小分配內存,然後調用對象內的相應構造函數,這與調用方法的過程不同。 return語句可以被使用,但是沒有值可以從構造函數本身返回。
爲了從構造函數中「返回」信息(更合適的,指出構造過程中出現錯誤),可以使用異常。
我更喜歡在一個方法中只有一個return語句,而在構造函數中沒有return語句。相比之下,更多的縮進級別通常是一件微不足道的事情,可以從中獲得最佳實踐。它通常使代碼更具可讀性。如果我最終返回的值有一個局部變量,它通常使我可以將該變量聲明爲final,這樣我就可以絕對確定該變量只能被賦值一次。通常這會讓您對算法的實際複雜性有所瞭解。但是,我確實在方法中使用了幾個throws語句。此外,我更喜歡在設計方法開始時檢查前提條件並在javadoc中說明合同設計。
- 1. 顯示在哪裏點擊的位置
- 2. Java中System類的位置在哪裏?
- 3. 我在哪裏放置if語句?
- 4. Qt:在哪裏放置連接語句?
- 5. 在哪裏添加到這個SQL語句的位置?
- 6. Case語句返回select在哪裏查詢
- 7. Java返回語句
- 8. SQL Case語句在哪裏
- 9. sql case語句在哪裏?
- 10. 選擇回顯語句的位置
- 11. 在Java中,可以「拋出異常」替換「return」語句嗎?我應該在哪裏放置返回語句以獲得返回值?
- 12. PHP Switch語句在回顯語句中顯示case標籤
- 13. 在JAVA中,getDriver在java.sql.DriverManager中初始化的位置在哪裏?
- 14. PHP:在哪裏放置返回'假'值?
- 15. 返回語句在Javascript中?
- 16. 返回控制切換語句在Java?
- 17. C#中的空回調語句在哪裏?
- 18. 哪裏可以定位include/require語句?
- 19. Java返回SQL語句
- 20. 缺少返回語句java
- 21. java返回if語句
- 22. Java - 缺少返回語句
- 23. Java:「缺少返回語句」
- 24. Java布爾返回語句
- 25. 的JavaScript放在哪裏var語句
- 26. tensorrt位置「nvinfer.h」在哪裏?
- 27. img位置在哪裏?
- 28. MKRouteStep:位置在哪裏?
- 29. Java中的嵌套返回語句
- 30. MVC 4中@ Html.MailTo的位置在哪裏?
你正在做什麼?你在問一些奇怪的「語言法律」問題,這讓我很好奇:-) – Pointy 2011-01-31 19:21:58
由於前些天我誤解了一個人,我不會因爲接受另一個問題而感到厭煩。 :) – biziclop 2011-01-31 19:29:36
只是試驗語言。看看什麼是和什麼是不可能的。 :) – 2011-01-31 19:30:42