Abstract classes can't be instantiated(you can't create objects of their type), but they can be subclassed. Which means that another class could inherit all of its methods and attributes; whether those methods are abstract or not is up to the designer.
Example: Assume
Java doesn't actually have a Math class
The PI constant in the shape class can be used by the Circle class. This is a poor example because Java provides a Math class that holds constants like PI.
Sun examples:
http://java.sun.com/docs/books/tutorial/java/IandI/abstract.html
Hunter