实例讲解Java工厂模式

本文深入解析Java中的简单工厂模式,通过具体代码实例展示了如何使用静态工厂类来实例化目标类,包括简单工厂类的不同实现方式,如直接实例化、根据类型实例化和使用Java反射机制实例化。文章提供了对初学者友好的指导,帮助理解工厂模式的基本概念及其在实际编程中的应用。
摘要由CSDN通过智能技术生成

本文实例讲解Java工厂模式

简单工厂模式又叫静态工厂模式,顾名思义,它是用来实例化目标类的静态类。
package com.dz.factory;
//定义一个具有通用性的接口
interface Car
{
public void run();
public void stop();
}

class Benz implements Car
{
public void run() {
System.out.println(”Benz运行中”);
}
public void stop() {
System.out.println(”Benz停止中”);
}
}

class Ford implements Car
{
public void run() {
System.out.println(”Ford运行中”);
}
public void stop() {
System.out.println(”Ford停止中”);
}
}

//简单工厂类1
class Factroy1{
public static Car getCarInstance()
{
return new Benz(); //new Ford();
}
}

//简单工厂类2
class Factroy2{
public static Car getCarInstance(String type)
{
Car car=null;
if(”Benz”.equals(type))
{
car=new Benz();
}
if(”Ford”.equals(type))
{
car=new Ford();
}
return car;
}

}

//简单工厂类3
class Factroy3{
public static Car getCarInstance(String type)
{
Car car=null;
try
{
//JAVA反射机制 通过一个字符串可以实例化一个类的对象
car=(Car) Class.forName(”com.dz.factory.” type).newInstance(); //完整的包名和类名 切记包名全
}catch(Exception e)
{
e.printStackTrace();
}
return car;
}
}

public class FactoryDemo {
public static void main(String [] args)
{
//初如调用
Car car0=new Benz();//Car car=new Ford();
car0.run();car0.stop();
//上面是不管Benz和Ford为父类Car紧密耦合

//简单工厂1调用
Car car1=Factroy1.getCarInstance();
car1.run();car1.stop();

//简单工厂2调用
Car car2=Factroy2.getCarInstance(”Ford”);
if(car2!=null)
{
car2.run();car2.stop();
}else
{
System.out.print(”没有对应的参数”);
}

//简单工厂3调用
Car car3=Factroy3.getCarInstance(”Benz”);
if(car3!=null)
{
car3.run();car3.stop();
}else
{
System.out.print(”没有对应的参数”);
}
}
}

代码就讲到这里,希望本文能对大家学习有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值