What will be the output?
class A extends Thread{
public void run(){
for(int i=0; i<2; i++){
System.out.println(i);
}
}
}
public class Test{
public static void main(String argv[]){
Test t = new Test();
t.check(new A(){});
}
public void check(A a){
a.start();
}
}
class A extends Thread{
public void run(){
for(int i=0; i<2; i++){
System.out.println(i);
}
}
}
public class Test{
public static void main(String argv[]){
Test t = new Test();
t.check(new A(){});
}
public void check(A a){
a.start();
}
}
A. 0 0
B. Compilation error, class A has no start method
C. 0 1
D. Compilation succeed but runtime exception
E. None of these
Answer: Option C
Solution(By Examveda Team)
Class A extends Thread means the anonymous instance that is passed to check() method has a start method which then calls the run method.
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
public static void main(String...args){
Test t = new Test();
t.call(new A(){});
}
why new A() {} doesnot throw error due to {}
public static void main(String...args){
Test t = new Test();
t.call(new A(){});
}
why new A() {} doesnot throw error due to {}