Examveda
Examveda

Determine output:
public class InitDemo{
	static int i = demo();
	static{
                System.out.print(i);
        }
	InitDemo(){
		System.out.print("hello1");
	}
	public static void main(String... args){
                System.out.print("Hello2");
	}
 	static int demo(){
        	System.out.print("InsideDemo");
		return 10;
	}
}

A. Compilation error.

B. IllegalArgumentException is thrown at runtime.

C. InsideDemo 10 Hello2

D. Hello2 InsideDemo 10

E. InsideDemo 10 Hello2 hello1

Answer: Option C

Solution(By Examveda Team)

As soon as the class are loaded static variables are initialized first. To initialize it demo must be called first then then static block executes and then main method is called.


This Question Belongs to Java Program >> Declaration And Access Control

Join The Discussion

Comments ( 1 )

  1. Nidhi Gupta
    Nidhi Gupta :
    7 years ago

    Before the loading of main , static block is called.but here static block is not executed at first.so I think it's the wrong answer

Related Questions on Declaration and Access Control