Hi, welcome to the ranch!
Abstract means a couple things in
Java. One is you can't make an instance. So the reason you can't make an instance is because that's what the designers decided abstract means.
The other thing it means is the class is allowed to be incomplete. It might say it implements an interface but doesn't implement all the methods. Or it might declare a method signature without a method body.
It's often handy to provide a partial implementation but require some subclass to fill in the missing bits. For example, the documentation for AbstractList says
This class provides a skeletal implementation of the List interface to minimize the effort required to implement this interface backed by a "random access" data store (such as an array). It just makes life easier for someone who wants implement List.
[ October 19, 2007: Message edited by: Stan James ]