一、反射
什么是反射
通俗的讲就是反射可以在运行时根据指定的类名获得类的信息,运行时确定类型,属于动态编译,发挥了java的灵活性;
在实际运用中,例如Spring中是可以通过修改配置文件来修改需要访问的类,而不需要重新修改代码
二、工厂模式
工厂模式与反射运用
package Factory;
interface IMessage{
public void send();
}
}
class NetMessage implements IMessage{
public void send() {
System.out.println("【发送】----网络----消息");
}
}
class LocalMessage implements IMessage{
public void send() {
System.out.println("【发送】----本地----消息");
}
}
public class Factory {
public static IMessage getInstance(String MessageName) {
IMessage instance=null;
if("NetMessage".equals(MessageName))
instance=new NetMessage();
if("LocalMessage".equals(MessageName))
instance=new LocalMessage();
return instance;
}
}
可以想象,如果通过IMessage接口实现的类越来越多,Factory中的getInstance