Passing an instance is passing a function pointer. Along with a ton of other things, of course. Java introduced the concept of "single abstract method" types to do function pointer-like things.
In my previous post, I looked at some of the problems associated with long parameters lists for methods and constructors. In that post, I discussed replacing primitives and built-in types with custom ...