9

在 Android 中,很多功能都在Activity派生类中。当一个活动变得很大(有很多事件处理程序等)时,Java 文件会变得很大并且非常混乱。

有没有办法“分解”一个 Java 类代码文件,就像 C# 有partial关键字一样?

4

3 回答 3

2

简短的回答?不。

引用自维基百科

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

因此,虽然您可能会重新设计您的设计并将某些代码归类为实用程序类以整理代码,但您不能在 java 中将单个类的代码分离到两个文件中。

于 2012-12-19T08:47:33.370 回答
2

正如其他人指出的那样,您不能拆分实际文件(我认为这是一件好事)。

您可以在自定义视图和片段中提取与视图相关的功能。其他所有内容(业务逻辑、Web 服务访问、数据库访问等)都可以在您在活动中使用的“帮助”类中。尽管 Activity 是 Android 中的上帝对象,但您不必在实际的 Activity 类中编写所有内容。它应该只协调东西并实现必要的回调和事件处理程序(从技术上讲,它们也可以在它们自己的类中)。

于 2012-12-19T09:00:16.863 回答
0

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

来自http://en.wikipedia.org/wiki/Comparison_of_Java_and_C_Sharp

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

于 2012-12-19T08:49:47.587 回答