Here you can find the source of newInstanceWithoutInit(Class
public static <T> T newInstanceWithoutInit(Class<T> clazz)
//package com.java2s; import sun.reflect.ReflectionFactory; import java.lang.reflect.Constructor; public class Main { public static <T> T newInstanceWithoutInit(Class<T> clazz) { try {/* w w w.j a va 2 s . c om*/ ReflectionFactory rf = ReflectionFactory.getReflectionFactory(); Constructor objDef = Object.class.getDeclaredConstructor(); Constructor intConstr = rf.newConstructorForSerialization(clazz, objDef); return clazz.cast(intConstr.newInstance()); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new IllegalStateException("Cannot create object", e); } } public static <T> T newInstance(Class<T> classOf) { try { return classOf.newInstance(); } catch (InstantiationException | IllegalAccessException ex) { return null; } } }