This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
The only place it's used is in the Java Reflection API. There's a class java.lang.reflect.Method, which Java uses to represent a Java method. You can ask a Method object what its return type is. It answers by returning a Class object. The Void class contains the constant Void.TYPE which is used to represent "void" in this context. That's it -- you're actually not allowed to create an instance of Void, so there's really nothing else this class can be used for. [ November 05, 2004: Message edited by: Ernest Friedman-Hill ]
I don't think I've ever written a program that uses it. The primary use I see, though, is reflection. If you are interested in exploring this further, you should learn more about the Java Reflection API. I'm sure you can also use the Search utility here at the Big Moose Saloon to find previous discussions on reflect.