I have base class Foo with method spam and class Bar which overrides spam. I need to call spam of base class in method of some callback object which is defined in-place:
public class Foo {
public void spam() {
// ...
}
}
public class Bar extends Foo {
@Override
public void spam() {
objectWhichRequireCallback(new Callback {
@Override
public void onCallback() {
super.spam();
}
});
}
}
This code is not working because super is related to Callback, not Bar class. Is it possible to call super method from object defined in-place?
public class Bar extends Foo {
@Override
public void spam() {
objectWhichRequireCallback(new Callback {
@Override
public void onCallback() {
Bar.super.spam();
}
});
}
}
EDIT : Sorry. DIdn't realize the method names are the same.
Try this: Bar.super.spam();
Bar.this.spam();
is compiled but it will cause infinite recursion because you call the same spam() itself.
You can create a wrapper function for this, in Bar
public class Bar...
public void mySuperSpam(){
super.spam();
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With