Here you can find the source of newInstance(String className, Object... args)
public static Object newInstance(String className, Object... args) throws Exception
//package com.java2s; //License from project: Open Source License import java.lang.reflect.Constructor; public class Main { public static Object newInstance(String className, Object... args) throws Exception { Class<?> newoneClass = Class.forName(className); return newInstance(newoneClass, args); }/* ww w. j av a 2 s . c om*/ public static Object newInstance(Class<?> clazz, Object... args) throws Exception { Class<?>[] argsClass; if (args == null) { argsClass = new Class[0]; } else { argsClass = new Class[args.length]; for (int i = 0, j = args.length; i < j; i++) { argsClass[i] = args[i].getClass(); } } Constructor<?> cons = clazz.getConstructor(argsClass); return cons.newInstance(args); } }