首先是接口和实现接口的两个Sender
public interface Sender {
public void Send();
}
public class MailSender implements Sender{
public void Send()
{
System.out.println("this is MailSender");
}
}
public class SmsSender implements Sender {
@Override
public void Send() {
System.out.println("thi is SmsSender");
}
}
一个抽象工厂
public interface Provider {
public Sender produce();
}
public class SendMailFactory implements Provider{
public Sender produce()
{
return new MailSender();
}
}
public class SendSmsFactory implements Provider{
public Sender produce()
{
return new SmsSender();
}
}
测试
public class FactoryTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Provider provider = new SendMailFactory();
Sender sender = provider.produce();
sender.Send();
}
}