Here you can find the source of newInstance(String className, Object[] args)
@SuppressWarnings("all") public static Object newInstance(String className, Object[] args) throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException
//package com.java2s; //License from project: Apache License import java.lang.reflect.*; public class Main { @SuppressWarnings("all") public static Object newInstance(String className, Object[] args) throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException { Class newoneClass = Class.forName(className); Class[] argsClass = new Class[args.length]; for (int i = 0, j = args.length; i < j; i++) { argsClass[i] = args[i].getClass(); }/*from w ww . j a v a2 s . c o m*/ Constructor cons = newoneClass.getConstructor(argsClass); return cons.newInstance(args); } }