package com.logicbig.example;
public class TestClass {
private static int a = getAValue();
private static int getAValue() {
System.out.println("initializing");
return 5;
}
}
package com.logicbig.example;
public class MainClass {
public static void main(String[] args) throws Exception {
Class<?> aClass = Class.forName("com.logicbig.example.TestClass");
System.out.println(aClass);
}
}
Output
initializing
class com.logicbig.example.TestClass
In this example, TestClass will not be initialized.
package com.logicbig.example;
public class TestClass {
private static int a = getAValue();
private static int getAValue() {
System.out.println("initializing");
return 5;
}
}
package com.logicbig.example;
public class MainClass {
public static void main(String[] args) throws Exception {
Class<?> aClass = Class.forName("com.logicbig.example.TestClass", false,
MainClass.class.getClassLoader());
System.out.println(aClass);
}
}
Output
class com.logicbig.example.TestClass