In case you have trouble to find a unique name for an abstract class, you probably don't need it. Some reasons, why "Abstract" doesn't have to appear as prefix in the name of an abstract class:
- Abstract classes are already distinguishable by the keyword abstract. There is no need to further emphasize it.
- A prefix "Abstract" doesn't provide any additional value to the user - in contrary it blurs the actual intension.
- Modern IDEs don't let you instantiate an abstract class, even before saving / compiling.
- If you really have to, it is easy to find / distinguish an abstract class with modern IDEs.
- Even in UML class diagrams abstract classes are easy to distinguish - their name is italicized.
The naming conventions for abstract classes are as superfluous as for interfaces.
NEW: Effective Java EE 7 -- Available For Streaming