为什么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