Friday, 28 August 2009

Java Certification Question 0078

What will happen when you attempt to compile and run the following code?

public class Bground extends Thread{

public static void main(String argv[]){
Bground b = new Bground();
b.run();
}

public void start(){
for (int i = 0; i <10; i++)
System.out.println("Value of i = " + i);
}
}
}

1) A compile time error indicating that no run method is defined for the Thread class
2) A run time error indicating that no run method is defined for the Thread class
3) Clean compile and at run time the values 0 to 9 are printed out
4) Clean compile but no output at runtime



Answer)

4) Clean compile but no output at runtime


This is a bit of a sneaky one as I have swapped around the names of the methods you need to define and call when running a thread. If the for loop were defined in a method called

public void run()

and the call in the main method had been to b.start()

The list of values from 0 to 9 would have been output.

No comments:

Post a Comment