哪些文件构成Java中的“程序”?

哪些文件构成Java中的“程序”?,java,class,Java,Class,在我大学的一门课程中,我们应该编写三个排序程序,然后将它们归档到.tar文件中并发送给老师。我已经编写了这些程序,现在我不确定是否应该归档.class文件、.java文件,或者这两个文件。说明中指定我应该发送三个文件,但可能这并不意味着什么,因为他们建议您使用python编程。我真的不明白为什么既有.java文件又有.class文件,有人能给我解释一下吗?你应该发送java文件,因为这些文件中的代码是可读的。教授需要查看和访问代码,而不是编译的类文件。.java文件是人类可读的,.class是机

在我大学的一门课程中,我们应该编写三个排序程序,然后将它们归档到.tar文件中并发送给老师。我已经编写了这些程序,现在我不确定是否应该归档.class文件、.java文件,或者这两个文件。说明中指定我应该发送三个文件,但可能这并不意味着什么,因为他们建议您使用python编程。我真的不明白为什么既有.java文件又有.class文件,有人能给我解释一下吗?

你应该发送java文件,因为这些文件中的代码是可读的。教授需要查看和访问代码,而不是编译的类文件。

.java文件是人类可读的,.class是机器可读的。所以你需要两个都寄。应该对.java进行评估,但我会直接在.class文件中运行该程序,而不是费心去检查错误代码。检查程序是否正常工作,然后检查源文件中的代码质量。

发送两个集。类,供计算机执行,.java供教授阅读


顺便说一下,可以反编译.class并恢复.java。请参阅windows上的jd.exe,但是,除了程序注释外,所有的syntactic sugar(枚举、由于类型擦除而产生的泛型)将不再存在。

您应该发送java文件,因为这些文件中的代码是可读的。你的教授需要看的是你的代码,而不是编译的类文件。@JunedAhsan:事实上这就是答案。你为什么把它作为评论发表?@Aarondigula感动地回答,让我们看看人们是否接受它-@JunedAhsan我当然支持这一点是的,更详细地说,您的教授可能会对照以前提交的示例检查您的source.java文件,以确保您没有复制/窃取,然后教授可能会编译并测试您的代码。所以教授需要的只是源文件。对于家庭作业,我们不应该建议对教授的例子进行反编译。。。这会给OP带来麻烦…谢谢你的帮助@Snakedoc,教授没有给出任何例子,我无论如何也不会偷他的代码。问一个基本问题是否就意味着我抄袭了?这篇帖子的回复令人惊讶。@Sid我不是针对你的,而是一个一般性的建议。我希望学习型程序员不会剽窃,否则你永远也学不会-P