Java Programming - Threads - Discussion

Discussion Forum : Threads - Pointing out the correct statements (Q.No. 5)
5.
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?
public class MyRunnable extends Runnable{public void run(){}}
public class MyRunnable extends Object{public void run(){}}
public class MyRunnable implements Runnable{public void run(){}}
public class MyRunnable implements Runnable{void run(){}}
Answer: Option
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.

Discussion:
Be the first person to comment on this question !

Post your comments here:

Your comments will be displayed after verification.