例子
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
class zhu1
{
private zhu1()
{
}
private static zhu1 a=null;
public static zhu1 getinstance()
{
if(a==null)
{
a=new zhu1();
}
return a;
}
}
public class reflectsingleton {
public static void main(String[]args)
{
Class zhu=zhu1.class;
try {
Constructor<zhu1> c=zhu.getDeclaredConstructor(new Class[]{});
c.setAccessible(true);
try {
zhu1 z1=c.newInstance(new Object[]{});
System.out.println(z1);
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (NoSuchMethodException | SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}