为什么android如此频繁地使用内部类?

为什么android如此频繁地使用内部类?,android,Android,这是一个一般性问题。在所有android示例中,您都可以找到适配器、任务或任何其他内部类。这是安卓系统的最佳实践吗 我知道这会使处理ui更改更容易,但在另一个制作大型文件的站点上 android中是否有任何规则可以将这些文件封装在单独的文件中,或将其作为内部类包含 非常感谢。这不是Android,而是Java 从Java Oracle文档: 为什么要使用嵌套类 使用嵌套类有几个令人信服的原因,其中包括 他们: 这是一种逻辑上对只在一个地方使用的类进行分组的方法 它增加了封装 嵌套类可以产生更可读

这是一个一般性问题。在所有android示例中,您都可以找到适配器、任务或任何其他内部类。这是安卓系统的最佳实践吗

我知道这会使处理ui更改更容易,但在另一个制作大型文件的站点上

android中是否有任何规则可以将这些文件封装在单独的文件中,或将其作为内部类包含


非常感谢。

这不是Android,而是Java

从Java Oracle文档:

为什么要使用嵌套类

使用嵌套类有几个令人信服的原因,其中包括 他们:

这是一种逻辑上对只在一个地方使用的类进行分组的方法

它增加了封装

嵌套类可以产生更可读和可维护的代码

如果是类,则对类进行逻辑分组 只对另一个类有用,那么将其嵌入其中是合乎逻辑的 那门课,让他们两个在一起。嵌套这样的“助手类” 使他们的软件包更加精简

增加封装考虑两个顶级类,A和B,在哪里 B需要访问A的成员,否则将被声明 私有的通过在类A中隐藏类B,可以声明A的成员 private和B可以访问它们。此外,B本身也可以隐藏 来自外部世界

更可读、可维护的代码嵌套在 顶级类将代码放置在更接近其使用位置的位置


内部非静态类可以访问其父实例中的所有内容,这使得它比外部类更简单。这是事实,但跟踪内部类的实际使用位置很重要,因为它们保留对父类的引用,并且在android应用程序中,如果父类是上下文的一个子类,那么确保在调用onDestroy()之后调用reference ensuser以让GC清理上下文是很重要的