Analyze the following code:
public class Test implements Runnable{
public static void main(String[] args){
Test t = new Test();
t.start();
}
public void run() { }
}
public class Test implements Runnable{
public static void main(String[] args){
Test t = new Test();
t.start();
}
public void run() { }
}A. The program does not compile because the start() method is not defined in the Test class.
B. The program compiles, but it does not run because the start() method is not defined.
C. The program compiles, but it does not run because the run() method is not implemented.
D. The program compiles and runs fine.
Answer: Option A
Solution (By Examveda Team)
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.

option D is the correct option
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
No prachi ..code is implementing Runnable so start method can be called using
new Thread(t).start();
so (a) is correct
why you have provided wrong options....correct option is option D