我可以将一个类及其所有内部类编译为单个类文件吗?

时间:2010-07-04 21:17:35

标签: java compiler-construction

我一直在为一个类开发一个相当简单的项目。我知道它应该是用Java编写的,而且我已经阅读了足够多的Assignment描述来了解我应该做的事情,所以我开始创建一个很好的,面向对象的解决方案(因为它是Java,对吧?)。当我最终阅读赋值的细节时,我会发现这个小宝石:整个东西应该作为单个类文件提交。现在重写整个事情为时已晚,所以我试图通过使我的所有类成为主类的静态内部类来解决它。令我懊恼的是,我发现eclipse至少在默认情况下会编译内部类以分离类文件。遗憾的是,我对Java编译器设置了解不多,但我希望有一种方法可以将它们全部编译成一个.class文件。是否有可能,或者我必须简单地将我所得到的内容与笔记交换,并采取我的TA决定停靠我的任何内容吗?

4 个答案:

答案 0 :(得分:6)

我担心没有这样的选择。每个类都在自己的类文件中定义。甚至匿名类也在ParentClass$1.class

中定义

我建议在为什么上放置一个巨大的评论/文档,你认为将所有内容放在一个类中是不好的。当然,这取决于“在另一端”的人。

如果一个文件,而不是一个类,只需制作一个jar文件。

答案 1 :(得分:3)

如果您有勇气,可以为您的应用程序创建一个jar,将其编码为您的toplevelclass中的字符串,该类扩展了类加载器并使用此类加载器从已解码的jar文件加载类。

这是如此疯狂,并且显示了Java平台的大量知识,它必须值得额外的信用。

答案 2 :(得分:1)

作为TA,如果学生向我发送一个单独的java文件,使用面向对象的设计和嵌套类,我会很喜欢它!

如果技术援助需要最简单的问题解决方案并且你过度设计它,那么它当然是另一个故事。

请注意,如果TA不喜欢嵌套类并且认为它们不好,请将他指向NewSpeak和Gilad Bracha的帖子。他参与了Java语言规范,他是该领域的权威,并提出了一种完全基于类嵌套的语言!

答案 3 :(得分:0)

那就是说,这应该是单个文件,还是单个文件。如果前者你当然可以ZIP / JAR它,如果后者与TA聊天就可以了。