What will be the output of the following program code?
public class Test implements Runnable{
public static void main(String[] args){
Thread t = new Thread(this);
t.start();
}
public void run(){
System.out.println("test");
}
}
public class Test implements Runnable{
public static void main(String[] args){
Thread t = new Thread(this);
t.start();
}
public void run(){
System.out.println("test");
}
}
A. The program does not compile because this cannot be referenced in a static method.
B. The program compiles fine, but it does not print anything because t does not invoke the run() method
C. The program compiles and runs fine and displays test on the console.
D. None of the above
Answer: Option A
'this' cannot be used in static context
https://www.quora.com/Why-cant-static-method-access-this-or-super-in-Java
correct option is ..option B.....because both run and start() are specified with no modifier.