Note: Considering such a class heirarchy, the implementation of the methods could also be in some subclass of the parent abstract class - it doesn't have to be in machine specific code.
You might want to take a look at
The "How my Dog learned Polymorphism" Story of
The JavaRanch Campfire Stories and
The Managing Inheritance Section of Sun's Java Tutorial.
If you ever want to find out what class an object actually is (not just the identifier's type)...
All objects in Java inherit the
getClass() method from
java.lang.Object. Use
toString() on the returned
Class object and find out.
You could similarly invoke the
getName() method of the
Class object.
Good Luck.