爲什麼javac會在文件名中查找.java擴展名。 雖然java不在其參數中查找.class?自動進入.class文件本身? 這有什麼理由嗎?爲什麼javac需要.java擴展名和java不需要.class擴展名
回答
有沒有自動添加.class
:你只是運行java
指定哪個類作爲主要使用。 classloading和classpath的細節處於不同的抽象層次上:有可能沒有.class
文件,或者例如它在JAR中。
如果仔細觀察,順便說一句,您會發現java
不會要求您提供路徑:參數中沒有斜線(或更糟的是反斜槓),只有正確的點分隔包名。所以它永遠不是一個「文件」。
javac
另一方面確實可以處理文件,因此您需要指定這些文件。
是的。剛纔觀察到java不查找文件路徑。 – 2012-01-09 14:03:04
我能說什麼? :) http://meta.stackexchange.com/a/5235/170914 – alf 2012-01-09 14:05:11
我不認爲這個決定背後有一個非常合理的推理,除了.java
文件由程序員創建,而.class
文件是編譯器生成的事實。如果這個問題純粹是爲了教育目的,那麼答案「就是因爲這就是它的意思」應該是非常好的。 :)
- 1. gzip是否總是需要擴展名?
- 2. 排名-1型需要Rank2Types擴展
- 3. 我需要改變文件擴展名
- 4. 需要'擴展'MouseAdapter和KeyAdapter
- 5. 製作需要另一個擴展名的Python的C擴展
- 6. 我需要在JAVA中讀取Excel 2007(.xlsx)擴展名?
- 7. MTL庫需要什麼語言擴展?
- 8. 可能需要擴展需要擴展MapActivity和其他Activity的Activity嗎?
- 9. Facebook需要CURL擴展
- 10. OOP PHP需要類,擴展
- 11. PHP擴展需要文件
- 12. pecl oAuth擴展需要
- 13. Firefox擴展,需要建議
- 14. Grunt Connect需要.html擴展
- 15. 需要擴展權限publish_actions
- 16. Facebook需要CURL PHP擴展
- 17. 擴展方法需要「this」?
- 18. 彈簧,JPA和Hibernate - 不需要JSON文件擴展名
- 19. 爲什麼需要不使用WebExtension(Chrome擴展的Firefox)定義
- 20. 擴展器行爲需要部分擴展頂部內容
- 21. 需要從文件名array_map中刪除.pdf擴展名
- 22. 何時在工作簿名稱中需要擴展名?
- 23. PDO擴展需要這個適配器,但擴展不加載
- 24. rbenv和需要C擴展寶石
- 25. 標記擴展名'StaticResourceExtension'需要'IXamlSchemaContextProvider'在IServiceProvider中爲ProvideValue實現
- 26. 需要複製擴展名爲.3GP的文件
- 27. 我需要將視頻文件擴展名更改爲mp4
- 28. 擴展Zepto.js,所以不再需要jQuery
- 29. 爲什麼我們不使用帶「java」命令的.class擴展名?
- 30. GET參數正在獲取不需要的文件擴展名
因爲'javac'將Java('.java')文件編譯成類('.class')文件,'java'執行生成的類。 – adarshr 2012-01-06 09:35:27