My experience says see the structure of class first. like what constructors what methods a class has. just look at them . then follow the path through from the main method, because from here the execution starts . So follow it up from here
Getting the inheritance hierarchy right - that is who inherits from whom is important... also to check whether it is legal. What I find the most tricky is to select between the answer - compile time error or runtime error! you need to study the code and the flow of the program closely, one thing should be taken care that the program may be incorrect at more than one place but what is encountered first in the flow should be your answer.