您的位置:首页 > 编程语言 > Java开发

【java设计模式】单例设计模式案例:工厂加工零件(对象是工厂,所以就需要创建一个工厂的类)

2016-12-24 22:40 453 查看
package item;

/**

* 单例设计模式案例:工厂加工零件(对象是工厂,所以就需要创建一个工厂的类)

**/

class Factory

{

private int num;

private Factory(){}

private static Factory f=new Factory();

public static Factory getInstance()

{

return f;

}

/**

加工零件功能

@param 无参数

**/

public void jiaGong()

{

System.out.println("这是第"+(++num)+"个零件");//加共1个就加一

}

}

public class DanliSJMSFactory {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Factory f1=Factory.getInstance();

f1.jiaGong();

f1.jiaGong();

f1.jiaGong();

f1.jiaGong();

f1.jiaGong();

Factory f2=Factory.getInstance();

f2.jiaGong();

f2.jiaGong();

f2.jiaGong();

f2.jiaGong();

f2.jiaGong();

}

/*显示结果

* 这是第1个零件

这是第2个零件

这是第3个零件

这是第4个零件

这是第5个零件

这是第6个零件

这是第7个零件

这是第8个零件

这是第9个零件

这是第10个零件*/

}

案例2:

package item;

/*显示超人的名字,(对象就是超人,所以要定义个超人的类)*/

class SuperMan

{

private String name;//成员变量

private SuperMan(){}

private static SuperMan sm=new SuperMan("欧特曼");

public static SuperMan getInstance()

{

return sm;//有返回值,是为了能给外界调用到这个值

}

private SuperMan(String name)//带参数的构造函数

{

this.name=name;

}

public String getName()

{

return name; //有返回值,是为了能给外界调用到这个值

}

}

public class DanliSJMSSuperMan {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

SuperMan sm=SuperMan.getInstance();

System.out.println(sm.getName());

}

/*输出结果:

欧特曼*/

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: