public class FactoryTest {
public static void main(String[] args) {
SendFactory factory = new SendFactory();
Sender sender = factory.produce("sms");
sender.Send();
}
}
interface Sender {
public void Send();
}
class MailSender implements Sender {
@Override
public void Send() {
System.out.println("this is mailsender!");
}
}
class SmsSender implements Sender {
@Override
public void Send() {
System.out.println("this is sms sender!");
}
}
class SendFactory {
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;
}
}
}
结果:
this is sms sender!