posted 16 years ago
The code you provided will yeild the answer of 0 2 4 6 as mentioned by the option 'f'
Look at the main method.The first line created an array of size 4 and type Computation.
Now each element of the array is used to create a new object of computation by passing the index value of the array as parameter.
Thus we have 4 computation objects calling the constructor once for each.It also means we will have 4 instance variables of type isComplete,num and result.global num is being shadowed by the local num in the constructor so,the global num is explicitly given the value passed by local num through the keyword 'this'.
When the start() is called it makes a call to run().here value of result is set.
lastly in the print statement(with the use of new for:each loop),the getResult is called which returns the value of result which is printed.
Hope this solves your query.
Jitendra
SCJP1.5
SCWCD1.5