Android内部类,静态内部类,匿名内部类

1 内部类:

内部类是建立在外部类里面的,可以调用外部类的方法,但是外部类到不可以调用内部类的private属性,方法等。内部类持有外部内的原因可以理解为初始化一个内部类的前提是先初始化一个外部类

内部类 内部类名 = new 外部类. new 内部类

内部类的使用一般是因外这个类的使用限于在外部类上使用,其他地方也不需要使用

2 静态内部类

 

静态内部类并不是一开始就创建的!它与静态成员不一样,并不能直接通过外部类名.内部类名的方式就可以直接访问并得到它的对象,通俗一点来说就是:静态内部类跟正常的一个外部类一样,它需要创建才能有

静态态内部类并不会依赖于任何一个外部类实例,它可以在适当的时候被系统回收!所以,静态内部类对象的生命跟普通的对象一样,生命开始于开发者创建它,结束于系统回收它!(注:如果在传递的过程中存在静态引用,依然有可能造成内存泄漏,比如初始化时传递的方法里面包含了context,activity等,这个时候就会有导致activity无法释放,这个时候可以使用Application或者弱引用的方式)

外部类.静态内部类 静态内部类名 = new 外部类.静态内部类()

3 匿名类

定义这个类的同时定义了这个类的实例,平时Android开发中handler,runnable, Timertask之类的进程会用到,一般只初始化一次,也称为匿名内部类,持有外部类的强引用,所以经常使用不当容易造成内存泄漏。处理的方式一般也是使用弱引用,将匿名内部类修改成static方式。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值