在Java中,我们可以将一个类分成多个文件
任何使用Java将类分成多个物理文件的可能性?
不,整个类必须在Java中的单个文件。
如果您正在考虑C#的“部分types”function,那么在Java中没有相同的function。 (如果你没有考虑C#,忽略这个:)
如果课程真的很大,以至于实施的概念不容易理解,这可能是一个好主意。 我看到两种不同的方式来做到这一点:
-
使用inheritance:将类的一般概念移到基类,并从中派生出一个专门的类。
-
使用聚合:将你的类的部分移动到一个单独的类,并使用引用build立与第二类的关系。
如前所述,在Java中不存在类似部分类的概念,所以你必须使用这些OOP机制。
只使用javac
,这是不可能的。 当然,您可以将多个文件合并到一个.java文件中作为构build过程的一部分,然后调用javac
,但是在如此多的层次上这会很麻烦,不太可能有用。
也许你可以解释你的问题,然后我们可以帮助更好。
如果你觉得你的.java文件太大,你应该考虑重构。
当然这是可能的,但是我认为它根本不是有用的。
首先,分裂并不是我猜想的问题,你只需编译文件并按照你想要的方式分割它。
现在把它们放在一起,所有你需要做的就是编写一个自定义的类加载器,加载所有的片断,将它们组合成一个字节数组,然后调用defineClass()
。
就像我说的那样,它看起来毫无意义,可能不是你想要的,绝对不是你所需要的,但在技术上是可能的。
(我曾经做过类似的混淆代码的开玩笑:类文件的字节分散在应用程序中所有其他类的常量中,这很有趣,我不得不承认)。
不,在Java中这是不能做到的。
不,你不能。 如果你的class级太大,你应该把它分成两个或两个以上。