2013-11-03 32 views
-2

我是編程和Java的完美新手。我在學校學習Java,當我的老師講課時我明白了什麼是事情,這可能是一個愚蠢的問題,但我只是好奇,爲什麼你不能在main()方法中寫下所有東西?爲什麼我們需要爲某些任務調用方法?用什麼方法?

請記住我是初學者。謝謝!

編輯:我想這個問題很快就會被刪除,因爲我可以做更多的研究顯而易見的寬度或事實?

我一直在看很多教程,並試圖找到答案,但不能。我認爲編寫一些程序絕對有必要。我只是需要一個清晰的簡潔的答案,關於使用其他方法的一般意義是什麼,如果你可以只寫主文件中的所有東西

+0

對於可重用性和可維護性。 – Masudul

+0

爲什麼我們不用編譯器編碼? – Bohemian

+0

您可以在'main()'方法中寫入所有內容。當然,因爲你可以不意味着這是個好主意。 –

回答

2

理論上你可以在main中寫出整個東西(不是真的,因爲你必須調用本機Java方法使你的程序做一些有用的事情),但是方法可以幫助你重用你的代碼並更好地組織它。

想象一下,您需要根據輸入值執行復雜的計算,並且實現需要大量的代碼行。如果您需要多次執行該計算,則可以複製/粘貼所有這些代碼行,也可以將算法封裝在函數中,並在需要時調用該方法。

複製/粘貼出了什麼問題?那麼讓我們假設你在算法中存在一個錯誤,或者你只需​​要改變它,你必須記住你複製/粘貼代碼行並修復算法的地方,而不是簡單地修復一個方法。

無論如何,這只是冰山一角,我甚至沒有提及過代碼的理解,可測試性和靈活性。此外,它不僅僅是關於方法,而是關於對象編程的編程優點。

+0

重新使用它以後再回顧一下? – user2949150

+1

Downvote?什麼不準確? – plalx

+0

@ user2949150好吧,它可以簡單地避免重複性任務的代碼重複,或者如果您正在設計一個您/他人可以在另一個項目中使用的API,您可以將此視爲*以後重用*。 – plalx

2

您當然可以可以這樣做。但是通過將任務分解爲更小的自包含位,您可以獲得:

1)可理解性:有人想要了解程序在高級別上的功能可以通過查看更少的行數來「理解」而無需一次消化所有細節。

2)可測試性:您可以測試每種方法的任務,以確保它正在執行所需的任務,而無需測試整個事情。

3)可重用性:通常放在方法中的東西在其他上下文中可能很有用。當你可以打電話時不需要重寫。

還有更多,但他們繼續從這些相同的想法。