Android内部类,静态内部类,匿名内部类
2018-03-29 20:40
204 查看
1 内部类:
内部类是建立在外部类里面的,可以调用外部类的方法,但是外部类到不可以调用内部类的private属性,方法等。内部类持有外部内的原因可以理解为初始化一个内部类的前提是先初始化一个外部类内部类 内部类名 = new 外部类. new 内部类
内部类的使用一般是因外这个类的使用限于在外部类上使用,其他地方也不需要使用
2 静态内部类
静态内部类并不是一开始就创建的!它与静态成员不一样,并不能直接通过外部类名.内部类名的方式就可以直接访问并得到它的对象,通俗一点来说就是:静态内部类跟正常的一个外部类一样,它需要创建才能有静态态内部类并不会依赖于任何一个外部类实例,它可以在适当的时候被系统回收!所以,静态内部类对象的生命跟普通的对象一样,生命开始于开发者创建它,结束于系统回收它!(注:如果在传递的过程中存在静态引用,依然有可能造成内存泄漏)
外部类.静态内部类 静态内部类名 = new 外部类.静态内部类()
3 匿名类
定义这个类的同时定义了这个类的实例,平时Android开发中handler,runnable, Timertask之类的进程会用到,一般只初始化一次,也称为匿名内部类,持有外部类的强引用,所以经常使用不当容易造成内存泄漏。处理的方式一般也是使用弱引用,将匿名内部类修改成static方式。相关文章推荐
- Android Handler、非静态、匿名内部类的内存泄漏,用静态内部类+弱引用或handler.removeCallbackAndMessages(null)解决
- Java静态内部类、匿名内部类、成员式内部类和局部内部类
- Android(java)学习笔记75:匿名内部类的方式实现多线程程序
- Java基础_内部类、静态内部类、成员内部类、局部内部类、匿名内部类 (转)
- JAVA之内部类--成员内部类- 静态内部类- 方法内部类- 匿名内部类
- 内部类:非静态内部类,静态内部类,局部内部类,匿名内部类详解
- android 监听按钮的点击事件 匿名内部类监听按钮点击事件
- JAVA中的四个内部类-成员内部类,静态内部类,方法内部类,匿名内部类
- 匿名对象,内部类,静态内部类,static关键字
- Java中的内部类 普通嵌套类 局部内部类 匿名内部类 静态内部类 浅析
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- 【内部类】局部内部类 VS 静态内部类 VS 匿名内部类
- Java静态内部类、匿名内部类、成员式内部类和局部内部类
- 关于匿名内部类,非静态内部类会造成内存泄露的隐患。
- Android学习 匿名类与匿名内部类
- 内部类:成员内部类,局部内部类,静态内部类,匿名内部类
- java之内部类(InnerClass)----非静态内部类、静态内部类、局部内部类、匿名内部类
- 成员内部类局部内部类静态内部类匿名内部类总结
- 【android】AlertDialog 匿名内部类的使用
- 静态内部类、匿名内部类、局部内部类