单例类:

 package singleton;

 public class SingletonTest {

     // 私有构造方法
private SingletonTest(){ System.out.println("无参数---构造----");
}
// 私有构造方法
private SingletonTest(String a){ System.out.println("有参数---构造----参数值:" + a);
}
//定义私有类型的变量
private static volatile SingletonTest instance; //定义一个静态共有方法
public static SingletonTest getInstance(){ if(instance == null){
synchronized(SingletonTest.class){
if(instance == null){
return new SingletonTest();
}
}
}
return instance;
}
}

  测试调用类:

 package reflect;

 import java.lang.reflect.Constructor;
import java.lang.reflect.Method; import singleton.SingletonTest; public class ReflectDemo { public static void main(String[] args) throws Exception{
Class clazz = SingletonTest.class; /*以下调用无参的、私有构造函数*/
Constructor c0= clazz.getDeclaredConstructor();
c0.setAccessible(true);
SingletonTest po=(SingletonTest)c0.newInstance();
System.out.println("无参构造函数\t"+po); /*以下调用带参的、私有构造函数*/
Constructor c1=clazz.getDeclaredConstructor(new Class[]{String.class});
c1.setAccessible(true);
SingletonTest p1=(SingletonTest)c1.newInstance(new Object[]{"我是参数值"});
System.out.println("有参的构造函数\t"+p1); } }

  结果:

 无参数---构造----
无参构造函数 singleton.SingletonTest@11ff436
有参数---构造----参数值:我是参数值
有参的构造函数 singleton.SingletonTest@da3a1e

  参考资料

  Java反射机制调用private类型的构造方法

Java 反射 调用私有构造方法的更多相关文章

  1. Java 反射 调用私有域和方法(setAccessible)

    Java 反射 调用私有域和方法(setAccessible) @author ixenos AccessibleObject类 Method.Field和Constructor类共同继承了Acces ...

  2. java反射调用私有方法和修改私有属性

    //调用私有方法package com.java.test; public class PrivateMethod { private String sayHello(String name) { r ...

  3. Android(java)学习笔记108:通过反射获取私有构造方法并且使用

    反射获取私有构造方法并且使用: 1.获取字节码文件.class对象:          Class c = Class.forName("cn.itcast_01.Person") ...

  4. Android(java)学习笔记49:通过反射获取私有构造方法并且使用

    1. 反射获取私有构造方法并且使用: (1)获取字节码文件.class对象:          Class c = Class.forName("cn.itcast_01.Person&qu ...

  5. 利用java反射调用类的的私有方法--转

    原文:http://blog.csdn.net/woshinia/article/details/11766567 1,今天和一位朋友谈到父类私有方法的调用问题,本来以为利用反射很轻松就可以实现,因为 ...

  6. C# 反射调用私有事件

    原文:C# 反射调用私有事件 在 C# 反射调用私有事件经常会不知道如何写,本文告诉大家如何调用 假设有 A 类的代码定义了一个私有的事件 class A { private event EventH ...

  7. 2019-11-29-C#-反射调用私有事件

    原文:2019-11-29-C#-反射调用私有事件 title author date CreateTime categories C# 反射调用私有事件 lindexi 2019-11-29 08: ...

  8. 2019-8-30-C#-反射调用私有事件

    title author date CreateTime categories C# 反射调用私有事件 lindexi 2019-08-30 08:52:57 +0800 2018-09-19 20: ...

  9. Java 反射获取私有方法

    通常我们创建一个类时,它的私有方法在类外是不可见的,但是可以通过反射机制来获取调用.具体的反射机制的介绍大家自己百度. 所以反射可能会破坏我们的单例模式,当然解决方案也是有的,就是做个标记记录次数,第 ...

随机推荐

  1. Linux发布WebApi

    一:WebApi 使用Owin来做  http://www.cnblogs.com/xiaoyaodijun/category/666029.html 二:安装最新版的Jexus服务 https:// ...

  2. 【BZOJ4764】弹飞大爷

    题解: 这个应该还是比较简单的 首先比较容易想到用lct来维护 我们可以建立一个特殊点 然后我们要处理环 其实只要判断它和不和这个特殊点联通就行了 那么当它不是环了我们怎么还原呢 只要对每个在根节点记 ...

  3. scrapy中输出中文保存中文

    1.json文件中文解码: #!/usr/bin/python #coding=utf-8 #author=dahu import json with open('huxiu.json','r') a ...

  4. 搭建自己的docker仓库

    https://docs.docker.com/registry/deploying/#run-a-local-registry https://docs.docker.com/registry/in ...

  5. Javascript \x 反斜杠x 16进制 编解码

    js 里 \x 开头的通常是16进制编码的数据,下面代码实现编解码: 解码 function decode(str){ return str.replace(/\\x(\w{2})/g,functio ...

  6. 063 SparkStream数据接收方式

    1.两种方式 2.Basic Source 由StreamingContext可以提供的API 上面做的wordcount中的方式就算是第一种方式. 3.Advanced Source 使用数据接收器 ...

  7. webapp用户身份认证方案 JSON WEB TOKEN 实现

    webapp用户身份认证方案 JSON WEB TOKEN 实现Deme示例,Java版 本项目依赖于下面jar包: nimbus-jose-jwt-4.13.1.jar (一款开源的成熟的JSON ...

  8. OpenJ_Bailian 4017 爬楼梯

    时间限制: 1000 ms  空间限制: 262144 KB 题目描述 树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数.例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一 ...

  9. css3和html5

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. python爬取今日头条关键字图集

    1.访问搜索图集结果,获得json如下(右图为data的一条的详细内容).页面以Ajax呈现,每次请求20个图集,其中 title --- 图集名字 artical_url --- 图集的地址 cou ...