单例类
来源:互联网 发布:mac steam 游戏存档 编辑:程序博客网 时间:2024/05/21 19:47
源代码:
class Singleton{ private static Singleton instance; private Singleton(){} public static Singleton getInstance(){ if(instance==null){ instance=new Singleton(); } return instance; }}public class Java21 { public static void main(String[] args) { Singleton s1=Singleton.getInstance(); Singleton s2=Singleton.getInstance(); System.out.println(s1==s2); } }运行结果:
1.单例类就是始终只能创建一个实例的类;
2.根据单例类的定义可知,由于其只能创建一个类的实例,那么其构造器就不能够被随意的引用,所以其应该用关键字private修饰,即只能在本类中定义那个类变量,还要有相关的语句保证所定义的类变量只能有一个,根据良好的封装性的原则,应该有一个方法与外面的方法想联系,而这个方法必须是用static修饰的,因为在此前就没有该类的对象,若不用static修饰则在其他类就不能够引用它了;
3.例如上面的源代码:构造器用了private修饰,所以只能在本类中定义该类的实例,通过方法getInstance创建实例和控制所创建的实例只有一个,在这个控制的过程中,这个getInstance方法是与外面沟通的桥梁,由于这个被定义的类变量此时不能够外面所引用,所以此时的这个方法用了static修饰,是为了在其他类当中通过类引用的方式调用它。,引用了一个变量instance,这个instance是被类方法引用的,所以其本身也要用是一个类变量。最后用了==符号确定了该类是一个单例类,只能创建一个类对象。
0 0
- 单例类
- 单例类
- 单例类
- 单例类
- 单例类
- 单例类
- 单例类
- 单例类
- 单例类
- 单例类。
- 单例类
- 单例类
- 单例类
- 单例类
- 单例类
- 单例类
- 单例类
- 单例类
- 学习归幷排序
- 2016百度之星资格赛 C题
- 设置ssh免登录并设置别名
- MapReduce 之 倒排索引 基本概念、设计思路和源码分析
- XueXX and Chessboard(中南OJ)
- 单例类
- Leetcode 238. Product of Array Except Self
- 实现开关按钮
- 新项目如何选择合适电源模块
- 2016"百度之星" - 资格赛(Astar Round1)Problem A B C D--java代码
- 顺序查找
- 打字练习
- c语言判断日期是否合法的函数(改进版)
- 使用 Virtual Machine Manager 管理虚拟机