public class Alipay implements IPay{
@Override
public void pay() {
// TODO Auto-generated method stub
System.out.println("use Alipay");
}
}
WechatPay
public class Wechatpay implements IPay{
@Override
public void pay() {
// TODO Auto-generated method stub
System.out.println("use wechatpay");
}
}
PayStrategy
public class PayStrategy {
public void pay(String payWay){
String className = IPay.class.getPackage().getName() + "." +payWay;
try{
IPay pay = (IPay) Class.forName(className).newInstance();
pay.pay();
}catch(Exception e){
throw new RuntimeException("can not found the pay way");
}
}
}
test
public static void main(String[] args) {
PayStrategy strategy = new PayStrategy();
strategy.pay("Alipay");
}