Examveda
Examveda

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();
      }
}

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.


This Question Belongs to Java Program >> Threads

Join The Discussion

Comments ( 2 )

  1. Shreyasi Mukherjee
    Shreyasi Mukherjee :
    5 years ago

    public static void main(String...args){
    Test t = new Test();
    t.call(new A(){});
    }
    why new A() {} doesnot throw error due to {}

  2. Shreyasi Mukherjee
    Shreyasi Mukherjee :
    5 years ago

    public static void main(String...args){
    Test t = new Test();
    t.call(new A(){});
    }
    why new A() {} doesnot throw error due to {}

Related Questions on Threads

What is a thread in Java?

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