项目场景:
工厂模式返回泛型类。
通过一个工厂创建不同接口的多个实现类
解决方案:
interface IMessage{
void send();
}
class MessageImpl implements IMessage{
public void send(){
System.out.println("sdad");
}
}
interface IChannel{
void send();
}
class ChannelImpl implements IChannel{
public void send(){
System.out.println("qqqqq");
}
}
class Factory { //泛型 工厂
@SuppressWarnings ("unchecked")
public static <T> T getInstance(String name){ //泛型方法
if("MessageImpl".equals(name)){
return (T) new MessageImpl();
}else{
return (T) new ChannelImpl();
}
}
}
public class Test{
public static void main(String[] args) {
IMessage mess = Factory.getInstance("MessageImpl");
IChannel chan = Factory.getInstance("ChannelImpl");
mess.send();
chan.send();
}
}