java - 为什么javac需要.java扩展名而java不需要.class扩展名

标签 java

为什么 javac 在文件名中查找 .java 扩展名。 虽然 java 不在其参数中查找 .class 吗?并自动转到 .class 文件? 这有什么原因吗?

最佳答案

不会自动添加 .class:您只需运行 java 并指定将哪个类用作 main。 类加载和类路径的详细信息处于不同的抽象级别:可能没有 .class 文件,或者例如它在一个 JAR 中。

顺便说一下,如果你仔细观察,你会发现 java 不会要求你提供路径:参数中没有斜杠(或者更糟的是,有反斜杠),只有分隔包名称的正确点。所以它从来都不是一个"file"。

另一方面,

javac 确实可以处理文件,因此您需要指定这些文件。

关于java - 为什么javac需要.java扩展名而java不需要.class扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8755746/

相关文章:

java - 如何从 MaterialDatePicker 获取日期?

java - 如何在下拉列表中显示默认选项

用于加密密码的 Java 安装程序

java - ServerSocket 在单独的线程中抛出 java.net.BindException : bind failed: EACCES (Permission denied) on Android

java - 用户需要按两次回车键才能初始化循环

Java 我想在我的字节数组中搜索二进制十六进制值

java - 良好的 hashCode() 实现

java - Android Studio - 如何在 View 布局上膨胀的 tabhost 中的 tab1 中找到 EditText?

java - java中具有不同名称的方法与具有不同枚举参数的单个方法

java - HashTable中的静态内部类Entry有什么用?