有一个类A,它具有一个未定义的方法,称为OnEvent。我希望通过实例化类A Object的类来定义此方法。
像这样:
public class A{
int someVar=1;
float anotherVar=2;
public void method1(){
...
if( event )
OnEvent();
...
}
//OnEvent is not defined!!
OnEvent();
}
和另一个类,在不同的包中:
public class B{
A objA = new A();
public void method1(){
//I need to do something like
objA.setOnEvent( this.OnEvent() );
}
OnEvent(){
//Do something
}
}
我已经查过了,接口和/或lambda表达式是实现此目的的方法,但我一直无法成功完成。您能否提供一些有关这样做的指示?
最佳答案
您可以将A
类abstract
(也可以使用OnClick()
方法abstract
)`。
然后,您可以直接提供A
的实现来创建OnClick()
的匿名实例。
例如:
public abstract class A{
...
public abstract void OnEvent();
}
public class B{
A objA = new A() {
public void OnClick() {
//OnClick implementation
}
};
...
}