项目场景:
工厂模式返回泛型类。
通过一个工厂创建不同接口的多个实现类
解决方案:
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();
}
}
文章介绍了如何使用工厂模式结合Java的泛型来创建不同接口的实现类。具体实现包括定义两个接口IMessage和IChannel,各自的实现类MessageImpl和ChannelImpl,以及一个泛型工厂类Factory,该工厂可以根据传入的字符串返回对应接口的实例。

191

被折叠的 条评论
为什么被折叠?



