There are actually quite a few things like that in the API. It's easy to spot them: abstract classes, of course, but also classes with no public constructors can be like this.
The entire
JDBC (Java database) API is made of
interfaces, which are similar to abstract classes. Every database vendor provides their own implementation of these classes, each with a different name; but you refer to them just by the interface names, so you don't need to know about. This lets you write database code that works with any database -- just switch to a different driver, and your code doesn't change at all!