Java-重写方法与初始化的隐患
摘要:edu.51CTO.com网址:虽然文章标题是Java,但几乎所有面向对象设计的语言都遵守这个初始化流程,感谢廖祜秋liaohuqiu_秋百万指出,之前忘记提这个了.前言drakeet写了个和RecyclerView相关的GenerousRecyclerView,原文提到了写这个的目的.因为需要知道ViewGroup的clipToPadding属性,所以调用了ViewGroup.getClipToPadding,但这个方法是APIlevel21引入的.我看了一下代码,ViewGroup是通过调用setClipToPadding完成相关内容初始化的,setClipToPadding在APIlevel1就有了,也就是说我们只要监视setClipToPadding的调用,就能知道ViewGroup的clipToPadding状态.如此巧妙,如果我告诉drakeet,说不定就能引起他的注意,出任CEO,走上人生巅峰.如果你已经知道我要说什么了,可以鄙视我.问题简单还原一下问题,我们有一个类SuperClass1.publicclassSuperClass{2.3.privateintmSuperX;4.5.publicSuperClass(){6.7.setX(99);}8.9.10.publicvoidsetX(intx){mSuperX=x;edu.51CTO.com11.网址:}12.}现在我们想随时知道mSuperX是什么值,不用反射,因为父类从不直接修改mSuperX的值,总是通过setX来改,那么最简单的方法就是继承SuperClass,重写set
温馨提示:当前文档最多只能预览
5 页,若文档总页数超出了
5 页,请下载原文档以浏览全部内容。
本文档由 匿名用户 于 2022-03-31 23:11:47上传分享