ExamVeda
Login
Home
This question belongs to Java Program Threads
Threads
?

Analyze the following code:
public class Test implements Runnable{
        public static void main(String[] args){
                Test t = new Test();
                t.start();
        }

        public void run() { }
}

Answer & Solution
Correct Answer: Option A
Code Analysis:

     1. Implementing Runnable: The Test class implements the Runnable interface, which requires the implementation of the run() method.

     2. Creating an Instance: In the main method, an instance of Test is created (Test t = new Test();).

     3. Calling start() Method: The code then calls t.start();. However, start() is a method of the Thread class, not the Runnable interface.

     4. Compilation Error: Since Test implements Runnable and not Thread, it does not inherit the start() method from Thread. Therefore, calling start() on an instance of Test causes a compilation error because the start() method is not defined in the Test class.

Therefore, the correct option is A: The program does not compile because the start() method is not defined in the Test class.
Examveda
Question posted by Examveda
Community

Join the Discussion

4 Comments
Srinjoy Paul-2046
Srinjoy Paul-2046 2 years ago
option D is the correct option
Srinjoy Paul-2046
Srinjoy Paul-2046 2 years ago
public class Test implements Runnable
{
public static void main(String[] args)
{
Thread t=new Thread(this);
t.start();
}
public void run()
{}
}
option D but the fact is that the output will be a garbage value
Alok Anupam
Alok Anupam 9 years ago
No prachi ..code is implementing Runnable so start method can be called using
new Thread(t).start();
so (a) is correct
Prachi Verma
Prachi Verma 9 years ago
why you have provided wrong options....correct option is option D