一个简单例子解释 Java 工厂模式(zhuan)
/**
?*?IOC模式简单实例
?*/
/**
?*?运行类
?*/
public?class?MainClass?{
????/**
?????*?主函数
?????*/
????public?static?void?main(String[]?args)?{
????????try?{
????????????PrinterFactory.createPrinter().printByString("Hello?World~!");
????????}?catch?(Exception?ex)?{
????????????System.out.println(ex.toString());
????????}
????}
}
/**
?*?Printer接口
?*/
interface?IF_Printer?{
????/**
?????*?接口printByString方法声明
?????*/
????public?void?printByString(String?str);
}
/**
?*?MyPrinter实现Printer接口
?*/
class?MyPrinter?implements?IF_Printer?{
????public?void?printByString(String?str)?{
????????System.out.println(str);
????}
}
/**
?*?IF_Printer对象工厂,用于创建实现接口的类对象
?*/
class?PrinterFactory?{
????/**
?????*?工厂方法,返回IF_Printer接口实例
?????*/
????public?static?IF_Printer?createPrinter()?throws?InstantiationException,
????????????ClassNotFoundException,?IllegalAccessException?{
????????String?str?=?"MyPrinter";//通过字符串寻找实现接口的类,字符串可从文件中读取获得,从而实现IOC模式
????????return?(IF_Printer)?Class.forName(str).newInstance();//返回IF_Printer接口实例
????}
}