[b]1.问题描述[/b]
本来是重构时在父类里增加了一个protected方法(这个方法在子类中多处出现),然后在子类里使用这个方法的地方都用super来调用这个方法,结果编译始终不对。编译器提示super下面没有这个方法。
[b]2. 问题分析[/b]
对比后发现有些地方能用,有些地方不能用。原来根本原因在于有些子类的方法里使用了[color=red]匿名内部类[/color],在内部类的方法里使用super自然代表的就不是外部类的父类了,而是内部类自己的父类。原因清楚了,搞得差点开始怀疑人生:)
[b]3. 回顾[/b]
[b]3.1 super关键字[/b]
[url]http://blog.csdn.net/anmei2010/article/details/4093118[/url]
本来是重构时在父类里增加了一个protected方法(这个方法在子类中多处出现),然后在子类里使用这个方法的地方都用super来调用这个方法,结果编译始终不对。编译器提示super下面没有这个方法。
[b]2. 问题分析[/b]
对比后发现有些地方能用,有些地方不能用。原来根本原因在于有些子类的方法里使用了[color=red]匿名内部类[/color],在内部类的方法里使用super自然代表的就不是外部类的父类了,而是内部类自己的父类。原因清楚了,搞得差点开始怀疑人生:)
[b]3. 回顾[/b]
[b]3.1 super关键字[/b]
[url]http://blog.csdn.net/anmei2010/article/details/4093118[/url]