public class A{
private static A a = new A();
private A(){};//私有化构造函数
public A getSingleton(){
return a;
}
}
//上面这个就是简单的单例
我们知道反射可以反射出一个类的任意构造方法。
对应公共的构造方法我们可以直接利用但是对于私有的构造函数,我们需要取消代码校验(也就是暴力访问)
Class<A> a = A.class;//静态变量(没深入想过,一般是不会使用这个这个方法)
Class<A> clazz = Class.forName("A类的权限路径");//这种用的比较多
Constructor cons = clazz.getDeclaredConstructor();//获得私有的构造函数
cons.setAccessible(true);//暴力访问
Object object = cons.newInstance();//实例化对象