私有化构造函数的作用

简介:

比如

public class DiskUtil {
  private DiskUtil() {  }

  public static FUNC(){}

}

这种类,往往提供一些静态的函数来生成该类的实例,仅仅要这个类有公开的属性、方法。得到实例引用的一方还是能够调用的,一个样例是singleton。


外面调用仅仅能调用DiskUtil 的静态函数Func,而不能A a = new A();私有构造函数仅仅能在函数内部调用。外部不能实例化。所以私有构造函数能够防止该类在外部被实例化


常见的应用是工具类和单例模式

package test.reflect;
public class Singleton {
	private static Singleton s= null;
	
	private Singleton() {
		
	}
	
	public static Singleton getInstance() {
		if (s == null) {
			synchronized (Singleton.class) {
				if (s == null) {
					s = new Singleton();
				}
			}
		}
		return s;
	}
}




本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5330780.html,如需转载请自行联系原作者

相关文章
|
11月前
|
JSON 数据可视化 NoSQL
基于LLM Graph Transformer的知识图谱构建技术研究:LangChain框架下转换机制实践
本文介绍了LangChain的LLM Graph Transformer框架,探讨了文本到图谱转换的双模式实现机制。基于工具的模式利用结构化输出和函数调用,简化了提示工程并支持属性提取;基于提示的模式则为不支持工具调用的模型提供了备选方案。通过精确定义图谱模式(包括节点类型、关系类型及其约束),显著提升了提取结果的一致性和可靠性。LLM Graph Transformer为非结构化数据的结构化表示提供了可靠的技术方案,支持RAG应用和复杂查询处理。
635 2
基于LLM Graph Transformer的知识图谱构建技术研究:LangChain框架下转换机制实践
|
前端开发
前端:下载文件(多种方法)
前端:下载文件(多种方法)
1171 0
|
12月前
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型:智能天气预测与气候分析
使用Python实现深度学习模型:智能天气预测与气候分析
1664 3
|
11月前
|
缓存 安全 C++
C++无锁队列:解锁多线程编程新境界
【10月更文挑战第27天】
658 7
|
12月前
|
网络协议 Linux 网络性能优化
Linux C/C++之TCP / UDP通信
这篇文章详细介绍了Linux下C/C++语言实现TCP和UDP通信的方法,包括网络基础、通信模型、编程示例以及TCP和UDP的优缺点比较。
440 0
Linux C/C++之TCP / UDP通信
|
Ubuntu Shell 数据库
在Ubuntu 14.04上安装和配置Mumble服务器(Murmur)的方法
在Ubuntu 14.04上安装和配置Mumble服务器(Murmur)的方法
261 0
|
Java Windows
java: 错误: 无效的源发行版:17 【解决】
java: 错误: 无效的源发行版:17 【解决】
380 0
|
存储 安全 Java
20个SpringSecurity框架核心组件源码详解
以上是 V 哥给大家整理的20个Spring Security 中核心组件的分析与运行过程,理解后可助你玩转Spring Security,如果文章对你有帮助,客官请点赞收藏转发给更多需要的兄弟,任何疑问请评论区与V哥交流。
188 0
|
分布式计算 网络协议 大数据
基于C++的分布式计算框架设计与实现
基于C++的分布式计算框架设计与实现
932 2
|
人工智能 搜索推荐 UED
京东推出“AI 全能服务包”,帮助商家免费生成图文、视频和直播
【2月更文挑战第21天】京东推出“AI 全能服务包”,帮助商家免费生成图文、视频和直播
387 1
京东推出“AI 全能服务包”,帮助商家免费生成图文、视频和直播