代码改变世界

随笔档案-2011年10月

子类继承父类后重载protected方法提升访问权限为public

2011-10-17 04:35 by MudooT, 3060 阅读, 收藏, 编辑
摘要: 今天不小心继承一个类型的时候把其中的一个protected的方法写成了public,开始的时候没有发现,后来突然想起来这个方法应该是不提供给访问者的,那么检查竟然发现java编译器允许了这样的行为。 想一想,这样的设计还算蛮合理的。设想有下面的情况: 某汽车公司有一款新车上市,但该公司规定这款车必须由公司内部人员驾驶,那么也就是这样public class NewCar{ protected void drive() { // drive the car }}不过你说我买来一辆车总不能让这汽车公司的人来为我开车吧,所以这车的驾驶功能应该对我开放了才行,当然,只有属于我的车我才可以这样做,所以c 阅读全文

android中利用java.lang.reflect.Proxy实现私有接口

2011-10-08 18:09 by MudooT, 1946 阅读, 收藏, 编辑
摘要: 看了标题,肯定有人会说我没事吃饱了撑的,谁去实现私有接口啊?当然这是有情景的事,android的SDK中有一个widget叫NumberPicker,这个东西被官方给hide掉了——就是可以看,但是不能用! 这不是开玩笑么!好好的一个组件,不让人用怎么行?来吧,用反射吧! Class.forName("android.widget.NumberPicker"); 很好,搞定,通过getMethod来获得方法,进行调用,嗯嗯嗯,一切都很顺利。突然有一个方法难住了!setOnChangeListener这个方法的参数是在NumberPicker内部定义的一个接口,当然这个... 阅读全文
点击右上角即可分享
微信分享提示