Vidyalelo
Java Programming · Q38

Declaration and Access Control

Programming · Java Programming · question 38

Q38

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
Answer
D.
Hello2 InsideDemo 10
E.
InsideDemo 10 Hello2 hello1

Answer: Option C

Solution

Answer: Option C
Solution:

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.