I hear a lot of talk about the Entity/Component based paradigm in programming. One of the main benefits of programming in this fashion is the ability to have your entities definitions be highly flexible. What the Entity is composed of defines how it behaves. One of the biggest complaints about the Object Oriented paradigm in game programming is the issue with the class hierarchy. Odds are, you'll want your game token to be able to do many things, and inherit a lot of classes. Unfortunately, Java doesn't support true multiple inheritance.
My problem with the Entity/Component paradigm is that it does not allow the programmer to be explicit about what is happening in his/her program. Also, I do believe that Java allows a particular class to implements multiple interfaces. This would solve the problem with the class hierarchy in oop game programming, would it not?