方法一:直接用new 的方法开辟对象: 类 对象=new 类();
接口类型 接口名称 对象名称=new 接口子类( ) ;——>在客户端调用时必须明确知道有那几个子类,直接造成了一个缺点,两个程序之间紧密耦合。
方法二:使用工厂设计模式,引用工厂类,可以解决客户端与具体子类之间的耦合问题,但新的问题又出现了,在整个程序中,一个接口就需要一个工厂,如果接口过多,就造成有很多工厂。
方法三:采用反射机制,Class.foName( )
联合IO操作,工厂设计,联合Properties类(代码量大,而且不容易管理).
方法四:采用对象克隆,Object的Clone方法(需要一个具体类的对象).
(在这里要对IOC的控制反转,依赖注入的理解,会配置.XML的配置文件的配置).