在Android中,Activity
派生类中有很多功能。当一个活动变得很大(有许多事件处理程序等)时,Java文件就会变得庞大而且非常混乱。
有没有办法“分解”Java类代码文件,比如C#有partial
关键字?
答案 0 :(得分:2)
简短回答?号
Sun Microsystems Java编译器要求源文件名必须与其中唯一的公共类匹配,而C#允许同一文件中的多个公共类,并且对文件名没有任何限制。 C#2.0及更高版本允许通过在源代码中使用partial关键字将类定义拆分为多个文件。在Java中,公共类将始终位于其自己的源文件中。在C#中,源代码文件和逻辑单元分离并不紧密相关。
所以,虽然你可能会重新设计你的设计并将一些代码放到实用程序类中来整理代码,但你不能在java中的两个文件中分离单个类的代码。
答案 1 :(得分:1)
正如其他人所指出的,你不能分割实际的文件(我认为这是一件好事)。
您可以在自定义视图和片段中提取与视图相关的功能。其他所有内容(业务逻辑,Web服务访问,数据库访问等)都可以在您的活动中使用的“帮助”类中。即使活动是Android中的God对象,您也不必在实际的活动类中编写所有内容。它应该只协调东西并实现必要的回调和事件处理程序(技术上也可以在他们自己的类中)。
答案 2 :(得分:0)
没有。 Java源代码不能跨多个文件分割。
来自http://en.wikipedia.org/wiki/Comparison_of_Java_and_C_Sharp
Sun Microsystems Java编译器要求源文件名必须与其中唯一的公共类匹配,而C#允许同一文件中的多个公共类,并且对文件名没有任何限制。 C#2.0及更高版本允许通过在源代码中使用partial关键字将类定义拆分为多个文件。在Java中,公共类将始终位于其自己的源文件中。在C#中,源代码文件和逻辑单元分离并不紧密相关。