Recently I\'ve faced a question : How to avoid instantiating a Java class?
However, I answered by saying:
If you don\'t want to instantiate
Not really an answer to your question but just a note:
When you make a private no-arg constructor to prevent instantiation of your utility classes, you should have the constructor throw an exception (e.g. UnsupportedOperationException). This is because you can actually access private members (including constructors) through reflection. Note that if you do so, you should accompany it with a comment, because it is a bit counter-intuitive that you define a constructor to prevent a class from being instantiated.
Making the utility class abstract is not a good idea because it makes the class look like it is intended to be extended, and furthermore you can extend the class and thereby instantiate it.