在C# .net中,有一个使用关键字 partial 的方法可以将两个不同的类文件组合成一个单一的类。这可以帮助它保持[例如]UI和逻辑之间的分离。
当然,我们也可以使用两个类来实现这一点,一个用于UI,另一个用于逻辑。
在Java中是否能以某种方式实现这一点呢?
不可以。Java源代码不能跨多个文件进行拆分。
Sun Microsystems的Java编译器要求源文件名称必须与其中唯一的公共类匹配,而C#允许在同一文件中有多个公共类,并且对文件名没有任何限制。C# 2.0及更高版本通过在源代码中使用partial关键字将类定义拆分为几个文件。在Java中,一个公共类始终位于其自己的源文件中。在C#中,源代码文件和逻辑单元分离并没有紧密相关。
这种两个类的方法比单一类双重源码的方法要好得多,因为设计中强制实行了分离,而不仅仅是在源代码中进行了物理上的分离。
javac
,允许部分类定义、包含等等。事实上,这样的黑客可能已经存在。但是,标准Java不允许这样做。 - polygenelubricants