部分类/部分类文件

14
在C# .net中,有一个使用关键字 partial 的方法可以将两个不同的类文件组合成一个单一的类。这可以帮助它保持[例如]UI和逻辑之间的分离。 当然,我们也可以使用两个类来实现这一点,一个用于UI,另一个用于逻辑。 在Java中是否能以某种方式实现这一点呢?

我找到了一种将内部类分离成外部文件的方法,也许可以帮到你?https://dev59.com/iF4d5IYBdhLWcg3wB-mI - John
1个回答

21

关于源代码的拆分

不可以。Java源代码不能跨多个文件进行拆分。

来自维基百科文章《Java和C#比较》

Sun Microsystems的Java编译器要求源文件名称必须与其中唯一的公共类匹配,而C#允许在同一文件中有多个公共类,并且对文件名没有任何限制。C# 2.0及更高版本通过在源代码中使用partial关键字将类定义拆分为几个文件。在Java中,一个公共类始终位于其自己的源文件中。在C#中,源代码文件和逻辑单元分离并没有紧密相关。


将逻辑和UI分离成各自的类

这种两个类的方法比单一类双重源码的方法要好得多,因为设计中强制实行了分离,而不仅仅是在源代码中进行了物理上的分离。

另请参阅


@polygenelubricants 谢谢你的信息。我只是想澄清一下,是否有什么小技巧可以完成这个任务。不过,使用两个不同的类更像是一种设计模式。无论如何,感谢你的信息。 - Ravisha
@Ravisha:你总是可以黑进javac,允许部分类定义、包含等等。事实上,这样的黑客可能已经存在。但是,标准Java不允许这样做。 - polygenelubricants
你能提供任何关于破解Javac的特定链接吗? - Ravisha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接