私有化构造函数的作用

简介:

比如

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,如需转载请自行联系原作者

相关文章
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型:智能天气预测与气候分析
使用Python实现深度学习模型:智能天气预测与气候分析
1703 3
|
前端开发
前端:下载文件(多种方法)
前端:下载文件(多种方法)
1221 0
|
11月前
|
缓存 安全 C++
C++无锁队列:解锁多线程编程新境界
【10月更文挑战第27天】
747 7
|
网络协议 Linux 网络性能优化
Linux C/C++之TCP / UDP通信
这篇文章详细介绍了Linux下C/C++语言实现TCP和UDP通信的方法,包括网络基础、通信模型、编程示例以及TCP和UDP的优缺点比较。
484 0
Linux C/C++之TCP / UDP通信
|
存储 安全 Java
20个SpringSecurity框架核心组件源码详解
以上是 V 哥给大家整理的20个Spring Security 中核心组件的分析与运行过程,理解后可助你玩转Spring Security,如果文章对你有帮助,客官请点赞收藏转发给更多需要的兄弟,任何疑问请评论区与V哥交流。
203 0
|
Ubuntu Shell 数据库
在Ubuntu 14.04上安装和配置Mumble服务器(Murmur)的方法
在Ubuntu 14.04上安装和配置Mumble服务器(Murmur)的方法
278 0
|
Java Windows
java: 错误: 无效的源发行版:17 【解决】
java: 错误: 无效的源发行版:17 【解决】
402 0
|
分布式计算 网络协议 大数据
基于C++的分布式计算框架设计与实现
基于C++的分布式计算框架设计与实现
967 2
|
人工智能 搜索推荐 UED
京东推出“AI 全能服务包”,帮助商家免费生成图文、视频和直播
【2月更文挑战第21天】京东推出“AI 全能服务包”,帮助商家免费生成图文、视频和直播
421 1
京东推出“AI 全能服务包”,帮助商家免费生成图文、视频和直播
|
自然语言处理 Java API
常见C++ 开源日志库的比较
常见C++ 开源日志库的比较
669 0