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
Join The Discussion
Comments ( 2 )
A. A lightweight process that runs independently within a program
B. A data structure to store variables
C. A type of loop
D. A synchronization mechanism
Which interface is used to create a thread in Java?
A. Processor
B. Executor
C. Threadable
D. Runnable
What is the main advantage of using multithreading in Java programs?
A. Reduced memory usage
B. Simplicity of code
C. Improved program performance by utilizing multiple CPUs or CPU cores
D. Elimination of exceptions
How can you create a new thread in Java by implementing the Runnable interface?
A. Create an object of the Thread class
B. Create a class that implements the Runnable interface and override the run() method
C. Use the start() method of the main thread
D. Create an object of the Thread class
'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.