public interface Sender {
void send();
}
public class SmsSender implements Sender {
@Override
public void send() {
System.out.println("this is sms sender");
}
}
public class MailSender implements Sender {
@Override
public void send() {
System.out.println("this is mail sender");
}
}
public class SenderFactory {
public Sender produce(String type) {
if("mail".equals(type)) {
return new MailSender();
}else if("sms".equals(type)) {
return new SmsSender();
}else {
System.out.println("请输入正确的类型");
return null;
}
}
}
public class FactoryTest {
public static void main(String[] args) {
SenderFactory senderFactory = new SenderFactory();
Sender sender = senderFactory.produce("sms");
sender.send();
}
}