Q. 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;
}
}
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;
}
}
β
Correct Answer: (C)
InsideDemo 10 Hello2
Explanation: 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.