You're absolutely right -- local interfaces don't have that restriction because for local interfaces, plain old
Java language rules apply... and everything is passed by value/copy (i.e. a copy of the bits in the variable are passed... either a copy of a primitive, or a copy of a reference).
Which is perhaps one of the most significant issues related to local vs. Remote interfaces... with local interfaces, a business method is passed a reference to an existing object on the heap, and thus the business method might *change* the object in some way. With Remote interfaces, the business method is passed its very own *copy* of the whole object itself, and any changes made to the object don't affect the original object that was passed.
Good question. Never hurts to be certain about your assumptions, no matter how obvious they might seem. There are no dumb questions
(except the ones you're too afraid to ask)
Cheers,
Kathy