The following methods can be used for creating new instance of your classes, depending on your specific needs.
import java.lang.ClassLoader;
import java.net.URLClassLoader;
import java.net.URL;
public class InstantiateClass
{
testFinally newInstance() throws Exception
{
Second: Using the ClassLoader
ClassLoader loader = this.getClass().getClassLoader();
Class c = loader.loadClass("testFinally");
return (testFinally) c.newInstance();
}
testFinally newInstance0() throws Exception
{
Fourth: Using the ClassLoader
ClassLoader loader = InstantiateClass.class.getClassLoader();
Class c = loader.loadClass("testFinally");
return (testFinally) c.newInstance();
}
testFinally newInstance1() throws Exception
{
Fourth: Using the ClassLoader
testFinally tf = (testFinally) testFinally.class.newInstance();
return tf;
}
testFinally newInstance2() throws Exception
{
Using the Class class
Class claz = Class.forName("testFinally");
testFinally tf = (testFinally) claz.newInstance();
return(tf);
}
testFinally newInstance3() throws Exception
{
Using the ClassLoader
ClassLoader loader = new URLClassLoader( new URL[] { new URL(".") } );
Class c = loader.loadClass("testFinally");
return( (testFinally) c.newInstance());
}
public static void main(String args[])
{
try
{
The conventional new method
testFinally tf0 = new testFinally();
tf0.main( new String[0] );
}
catch(Exception ex)
{ex.printStackTrace();}
}
}