java如何在方法内部重写Runnable?
请就以下问题给我一个建议
我有甲级和甲级;B类 如何在类B中的方法foo中重写Runnable
class A {
//some code
.......
protected void foo() {
//some code
.......
//adding click listener to instance of MyButton
myButton.show(new Runnable(){
@Override
public void run() {
.......
}
});
//some code
.......
}
//some code
.......
}
class B extends A {
@Override
protected void foo() {
super.foo();
//some NEW code
.......
//adding click listener to instance of MyButton
myButton.show(new Runnable(){
@Override
public void run() {
//Copied&Pasted old code
.......
//NEW code
.......
}
});
}
}
我是否可以向按钮的处理程序添加新代码(在myButton中可运行),而不复制&;从super中粘贴现有代码?怎么做
# 1 楼答案
如果要重用逻辑,必须使用命名类实例而不是匿名类实例
例如:
然后B可以覆盖该逻辑: