单例设计模式 面试题
来源:互联网 发布:电脑编程哪儿工资高 编辑:程序博客网 时间:2024/05/16 19:47
/*设计模式
* 必须对于多个程序使用同一个配置信息对象时,就需要保证其对象的唯一性
* 如何保证对象的唯一性
* 不允许其程序new创建对象
* 在该程序中创建一个本类实例
*对外提供一个方法让其他方法可以获取该对象
*/
/*
2.步骤:私有化该 构造函数
通过new创建一个在本类对象
定义一个公有的方法,将创建对象返回.
*/
public class Demo5 {
public static void main(String [] args)
{
TestBug t =TestBug.getIntance();
t.setNum(10);
System.out.println(t.getNum());
TestBug t1 =TestBug.getIntance();
t1.setNum(20);
System.out.println(t1.getNum());
Single s = Single.getintance();
Single s1= Single.getintance();
System.out.println(s==s1);
}
}//饿汉式
class Single{
static Single s = new Single();
private Single()
{
}
public static Single getintance()
{
return s;
}
}
//懒汉式
class Single2//类加载进来,没有对象,只调用了getintance方法,才会创建对象
{ //延迟加载
private static Single2 s =null;
private Single2(){}
public Single2 getintance()
{
if(s==null){
s = new Single2();
}
return s;
}
}
class TestBug{
private int num;
private static TestBug t = new TestBug();//new一个静态的本类对象
private TestBug()//私有化构造函数
{
}
public static TestBug getIntance()//定义一个公有的静态方法
{
return t;
}
public void setNum(int num)
{
this.num =num;
}
public int getNum()
{
return num;
}
}
* 必须对于多个程序使用同一个配置信息对象时,就需要保证其对象的唯一性
* 如何保证对象的唯一性
* 不允许其程序new创建对象
* 在该程序中创建一个本类实例
*对外提供一个方法让其他方法可以获取该对象
*/
/*
2.步骤:私有化该 构造函数
通过new创建一个在本类对象
定义一个公有的方法,将创建对象返回.
*/
public class Demo5 {
public static void main(String [] args)
{
TestBug t =TestBug.getIntance();
t.setNum(10);
System.out.println(t.getNum());
TestBug t1 =TestBug.getIntance();
t1.setNum(20);
System.out.println(t1.getNum());
Single s = Single.getintance();
Single s1= Single.getintance();
System.out.println(s==s1);
}
}//饿汉式
class Single{
static Single s = new Single();
private Single()
{
}
public static Single getintance()
{
return s;
}
}
//懒汉式
class Single2//类加载进来,没有对象,只调用了getintance方法,才会创建对象
{ //延迟加载
private static Single2 s =null;
private Single2(){}
public Single2 getintance()
{
if(s==null){
s = new Single2();
}
return s;
}
}
class TestBug{
private int num;
private static TestBug t = new TestBug();//new一个静态的本类对象
private TestBug()//私有化构造函数
{
}
public static TestBug getIntance()//定义一个公有的静态方法
{
return t;
}
public void setNum(int num)
{
this.num =num;
}
public int getNum()
{
return num;
}
}
0 0
- 单例设计模式 面试题
- 【JAVA面试题】设计单例模式的多线程实现
- 剑指offer面试题2(单例设计模式)
- Java面试题18--单例设计模式
- 单例模式的常见面试题
- java单例模式面试题
- C++经典面试题--单例模式
- 面试题(二) 单例模式
- 设计模式面试题
- 设计模式面试题
- 设计模式面试题
- 剑指Offer算法题之设计模式的单例模式--面试题2:实现Singleton模式
- [面试题]非线程安全的单例模式?
- 单例模式面试题(特点、理解)
- 面试题1:如何实现C++单例模式?
- 面试题集锦&&实现Singleton(单例)模式-JAVA版
- 剑指offer 面试题2—实现单例模式
- 面试题1:如何实现C++单例模式
- 【opencv练习01-打开显示图片】
- Java---->String的基本操作
- mysql-5.7.13 解压版安装教程
- ssss
- centos之lnmp
- 单例设计模式 面试题
- 扩展欧几里得算法
- GPUImage README.md
- 根视图导航栏透明效果,跳转的页面取消导航栏透明效果
- java--集合
- iOS视图的生命周期
- 包含min函数的栈
- iOS动画效果 CATransition
- 01、CSS选择器(案例:计数器)