为什么你的程序不是从上往下执行的

本文通过一个实际案例,探讨了Java回调机制在Android开发中的应用。作者分享了在封装基类方法时遇到的问题:为何全局变量在某些情况下为null,以及如何解决这一问题。文章深入浅出地解释了回调机制的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

博客关注了一位大牛。被成功煲了一壶鸡汤,于是开始卸荣耀,卸贴吧,装keep,装慕课。我不知道我能坚持多久,总之,无论身处何处,都要让自己看起来与众不同吧。 -题记

作为一个发育了有一小段时间的码农来说,我渐渐开始了解了一些前辈不愿意告诉你的不知名的bug,摸索的过程有点不知所然。

Ok,这里讲的就是我在之前在开发中遇到的一个问题。我明明在一个程序中对这个全局变了赋值了,为什么还是为空。为什么必须在这个代码断的里面setAdapter才不为null。为什么,这3个方法不是从上往下执行。debug下,发现还真不是从上往下执行的。。。可怕

一、不得不说java存在的回调机制

我们知道android中日常开发会用到继承(extends)和实现(implements)。而最普遍存在的就是onclick事件,这就是一个回调,一个Activity中给按钮一个接口回调方法,只有用户点击了这个按钮,告诉按钮被点击了,才会执行按钮接口回调的方法,或许叫监听你就会懂了。仔细想想,我们代码片段也是这样的,并不是从上往下执行的,如果存在回调的话。我这边遇到的问题就是在你封装的基类方法中(baseAct)中的oncreate方法中写了请求网络的方法,结果就用到了回调,可能你觉得,程序应该从上往下执行的,但是这里恰恰不是。只有在回调执行后才会真正取到那个值,然后才可以进行赋值等一系列的操作。否则,程序体会执行完整个代码片段后再去回调这个操作。这就是新手往往会百思不得其解的地方了。。。。大概就是这么个意思了。。。至于真的要水的话,还是推荐个链接自己看吧。。。

一个经典例子让你彻彻底底理解java回调机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值