匿名内部类 构造方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
匿名内部类构造方法
我之前捣鼓匿名内部类构造方法的时候,那可真是一头雾水啊。
当时就感觉这东西好复杂,完全不知道从哪儿下手。
我一开始就瞎试,觉得匿名内部类嘛,不就是在代码里突然写个类的定义又不命名。
然后我就想啊,它的构造方法是不是和普通类一样呢?我就按照普通类构造方法那样写,结果发现报错报得一塌糊涂。
我当时就懵了,怎么和我想的不一样呢。
后来我就详细地去看文档,发现匿名内部类的构造方法其实有点特殊。
就好比给你一个盲盒,你以为是按照常规方式打开,但其实这个盲盒有它自己独特的打开方式。
匿名内部类很多时候会依赖于外部类,它的构造方法可能会和它所依赖的外部类环境有关。
比如说我有一个外部类,里面有一些变量和方法。
那在匿名内部类里,如果我要访问这些外部类的东西,在匿名内部类构造方法的调用或者初始化相关内容的时候就有特定的规则。
我当时没搞清楚这一点,就一直出错。
我一次又一次地在代码里改那些参数的传递,就感觉像在黑暗中摸索,不知道哪一下能碰对。
我试过把外部类的变量直接在匿名内部类构造方法中调用,但是忘了处理一些权限问题,就又失败了。
再后来我才明白,匿名内部类构造方法
的本质其实是一种特殊的初始化手段,它和内部类与外部类之间的关系紧密相连。
如果要给点建议的话,当你在处理匿名内部类构造方法的时候,一定要先搞清楚它和外部类的关系。
就像盖房子,你得先看看这块地周围的环境一样。
还有啊,对于其中变量和方法的调用,要仔细检查权限相关的东西。
我觉得眼过千遍不如手过一遍,自己多写几个例子,才能够真正理解。
我当时就是写了好多小的测试代码,不断地试,每个错误都分析透了,才慢慢开始明白匿名内部类构造方法的一些奥秘。
当然我现在也不敢说完全掌握了,有些复杂的嵌套情况我还是会出错,但比最开始已经好太多了。
比如说有多重嵌套的类结构时,匿名内部类的构造方法可能要小心翼翼地处理每一层的关系,我还在不断摸索这一块。