Anonymous inner class
Say you want to have a function passed in with a String
param 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 method that takes the pointer would just accept StringFunction
instance like so:
public void takingMethod(StringFunction sf) { int i = sf.func("my string"); // do whatever ... }
And would be called like so:
ref.takingMethod(new StringFunction() { public int func(String param) { // body } });
EDIT: In Java 8, you could call it with a lambda expression:
ref.takingMethod(param -> bodyExpression);