/**
* 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接口实例
}
}