Discussion :: Threads
-
The following block of code creates a Thread using a Runnable target:
Runnable target = new MyRunnable(); Thread myThread = new Thread(target);
Which of the following classes can be used to create the target, so that the preceding code compiles correctly?
A.
public class MyRunnable extends Runnable{public void run(){}} |
B.
public class MyRunnable extends Object{public void run(){}} |
C.
public class MyRunnable implements Runnable{public void run(){}} |
D.
public class MyRunnable implements Runnable{void run(){}} |
Answer : Option C
Explanation :
The class correctly implements the Runnable interface with a legal public void run() method.
Option A is incorrect because interfaces are not extended; they are implemented.
Option B is incorrect because even though the class would compile and it has a valid public void run() method, it does not implement the Runnable interface, so the compiler would complain when creating a Thread with an instance of it.
Option D is incorrect because the run() method must be public.
Be The First To Comment