Do you have a copy of "Thinking in Java by Bruce Eckel?
If not you can purchase it or download it from www.bruceeckel.com. However it costs, but the source code can be downloaded for free. The examples under polymorphism are useful for understanding abstract classes etc.
It doesn't have to be a base class of course. An abstract class can extend another abstract class (just to be confusing!)
Bruce Eckel's book is quite good but a lot of his examples, certainly when I read it, seem to me to be showing off and he had a habit of using meaningless names for his variables
The Oracle web site these days has some useful stuff on it.