如果将类的构造方法定义成private ,显然在类的外部无法实例化这个类。那么通过反射可以实例化吗?

解决方案 »

  1.   

    记得是可以的 可以改变这个private
      

  2.   

    反射可以访问private的方法 所以可以实例化
      

  3.   

    可以的,但你为什么要这么做呢,如果一定要将类的构造方法设置成private,应该是怕其他地方四处new出来实例吧,可以用单例模式哦
      

  4.   

    原始设计为private,必然有其设计意图,随意篡改可能造成不可预知的灵异后果,楼主需谨慎啊。Constructor refCon = XXOO.Class.getDeclaredConstructor(...);
    refCon.setAccessible(true); // 主要就是这句话了
      

  5.   

    懂了,我再去看看API帮助文档。谢谢各位