查了半天也没懂内部类存在的价值到底在哪,至少我在开发过程中仅仅觉得内部类只是写起来方便一点而已,并不知道意义何在。
在Android我觉得有两个地方常常写成内部类的形式:
- 创建匿名内部类实现接口的时候
- 实现某个Activity的UIData的时候,定义在Activity内部会比较清晰
至于多继承、闭包之类的用途,我暂时想不通。
以下是摘抄:
- 内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独立。
- 在单个外围类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类。
- 创建内部类对象的时刻并不依赖于外围类对象的创建。
- 内部类并没有令人迷惑的“is-a”关系,他就是一个独立的实体。
- 内部类提供了更好的封装,除了该外围类,其他类都不能访问
可参考:
https://www.zhihu.com/question/21373020
http://www.cnblogs.com/chenssy/p/3388487.html
网友评论