Anonymous inner class
Say you require to have a function transferred in with a Stringparam that returns an int.
First, you have to define an interface with the function as its only member if you can't reuse an existing one.
interface StringFunction {
int func(String param);
}
A way that takes the pointer would just allow StringFunction instance like so:
public void takingMethod(StringFunction sf) {
int i = sf.func("my string");
// do whatever ...
}
And would be named like so:
ref.takingMethod(new StringFunction() {
public int func(String param) {
// body
}
});
In Java 8, you could call it with a lambda expression:
ref.takingMethod(param -> bodyExpression);