Home / Java Programming / Threads :: Discussion

Discussion :: Threads

  1. 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?

     

  2. 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(){}}

    View Answer

    Workspace

    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