静态内部类与android handler

来源:互联网 发布:mac我的文件夹在哪里 编辑:程序博客网 时间:2024/06/11 12:42

为什么Handler在activity作为内部类用时要声明为static的:

http://www.cnblogs.com/savagemorgan/archive/2013/01/23/2872371.html

内部静态类说明:

http://www.2cto.com/kf/201304/206692.html

http://zhidao.baidu.com/link?url=sMQN7iIpiwQoHHij_uGL5aIfuKRa34TipHV1mp5iKloMypcAj3ftKTvwl7De8Omi7CTCMhiYgVdC4SZXEiHhua


总结,静态内部类和其外部类的关系弱化了很多


普通的内部类含有外部类的引用,在new 普通内部类时,构造函数代码上是看是没有参数的,但是编译器会把外部类作为参数传进去,所以,实际上,new 一般内部类时,构造方法是一定会有参数的,这个参数就是外部类。这也就是内部类能直接调用外部类的成员和方法的原因吧。


静态内部类不含有外部类的引用,所以不能访问外部类的非静态成员和方法。


所以,规范的写法,使用handler时,要不声明成静态内部类,要不就独立出一个顶级类来继承handler。

几种处理方法:

http://www.eoeandroid.com/thread-184245-1-1.html

0 0
原创粉丝点击