S Ali wrote:Then howcome it called the overriden version of draw() when the class hasn't been loaded yet?
The class has been loaded. Remember, the subclasses constructor has to call the super constructor before it does anything else.
So, the super constructor calls draw, the Subclasses property fields have the default values and hence the 0.