Java面向对象高级特性-多态-单例模式
原创约 775 字大约 3 分钟...
203-Java面向对象高级特性-多态-单例模式.md
注意
本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。
概念
单例模式(singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点
单例模式要点:
某个类只能有一个实例
它必须自行创建这个示例
必须自行向整个系统提供这个实例
- 单例模式实现:
拥有一个私有构造器
提供一个自身静态私有的成员变量
提供一个公有的静态公有的方法
示例代码
package com.tencent.chapter07.单例模式;
/**
* <p>Title: Singleton</p>
* <p>
* Description:
* 单例模式:类在内存中仅存在一个实例
好处:
1.节省内存
2.共享对象
单例模式要点:
1.某个类只能有一个实例
2.它必须自行创建这个示例
3.必须自行向整个系统提供这个实例
实现步骤:
1.构造函数私有化,用private修饰
2.自行创建实例,使用private static修饰
3.对外提供一个公有的方法,返回这个实例
* </p>
* @author xianxian
* @date 2023年1月4日
*/
//饿汉式
public class Singleton {
//2.自行创建实例,使用private static修饰
private static Singleton instance = new Singleton();
//1.构造函数私有化,用private修饰
private Singleton()
{
}
//3.对外提供一个公有的方法,返回这个实例
public static Singleton getInstance()
{
return instance;
}
}
package com.tencent.chapter07.单例模式;
/**
* <p>Title: Singleton2</p>
* <p>
* Description:
* 单例模式:类在内存中仅存在一个实例
好处:
1.节省内存
2.共享对象
单例模式要点:
1.某个类只能有一个实例
2.它必须自行创建这个示例
3.必须自行向整个系统提供这个实例
实现步骤:
1.构造函数私有化,用private修饰
2.自行创建实例,使用private static修饰
3.对外提供一个公有的方法,返回这个实例
* </p>
* @author xianxian
* @date 2023年1月4日
*/
//懒汉式
public class Singleton2 {
//2.自行创建实例,使用private static修饰
private static Singleton2 instance = null;
//1.构造函数私有化,用private修饰
private Singleton2()
{
}
//3.对外提供一个公有的方法,返回这个实例
public static Singleton2 getInstance()
{
if(instance == null)
{
instance = new Singleton2();
}
return instance;
}
}
package com.tencent.chapter07.单例模式;
public class SingletonTest {
public static void main(String[] args) {
/*Singleton s1 = new Singleton();
System.out.println(s1);//41649a55
Singleton s2 = new Singleton();
System.out.println(s2);//33d063fd*/
Singleton s3 = Singleton.getInstance();
Singleton s4 = Singleton.getInstance();
System.out.println(s3);//6a2437ef
System.out.println(s4);//6a2437ef
}
}
分割线
相关信息
以上就是我关于 Java面向对象高级特性-多态-单例模式 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。
扩展知识
- Java 23种设计模式
分割线
Powered by Waline v2.15.4