Someone asked about marker interfaces in a thread
at javaranch today. I was amused by Stan James' analogy
explaining the difference between interfaces with methods, and marker
interfaces with no declared messages.
It's just there so someone can ask if it's there. It's a way
of declaring you want to be treated in a special way at some point,
but doesn't declare that you have any particular methods that can be
called.
If I say "I can fly a helicopter!" somebody might ask me to do
it, so I have to implement the methods.
If I say "I'm lonely" nobody will expect me to do anything
special, but they might buy me lunch.
I thought that was an interesting way to explain marker
interfaces. Of course, the need for marker interfaces will be
eliminated (or at least significantly reduced) with JSR 175. You
won't need to implement loneliness, you can simply declare yourself
@Lonely.