posted 20 years ago
I suppose that if you had a class with "service" methods but you didn't want anyone to instantiate it you could create an abstract class that had nothing but static methods. That way other classes could call the methods but not instantiate it.
I don't know of any classes that use this mechanism, but there are other ways of accomplishing the same goal. If you look at the "java.lang.Math" class, it has a bunch of convenience methods that perform mathematical operations. The class itself is declared as "final". All of the methods are "static". And it has a single constructor that's declared as "private". Therefore it can't be instantiated, and it can't be extended.
But either methodology works. It's a matter of conceptually deciding how the class is to be used.
[ October 10, 2003: Message edited by: Wayne L Johnson ]