结论:如标题
一:上代码
1.1 PayService.java
package com.classload;
public interface PayService {
void pay();
}
1.2 AliPayService.java
package com.classload;
public class AliPayService implements PayService {
@Override
public void pay() {
System.out.println("支付宝支付");
}
}
1.3 BankPayService.java
package com.classload;
public class BankPayService implements PayService {
@Override
public void pay() {
System.out.println("银行支付");
}
}
1.4 WxPayService.java
package com.classload;
public class WxPayService implements PayService {
@Override
public void pay() {
System.out.println("微信支付");
}
}
1.5 Test1.java
package com.classload;
import java.util.ServiceLoader;
/**
* 成功
* resources/META-INF.services
*
*/
public class Test1 {
public static void main(String[] args) {
ServiceLoader<PayService> load = ServiceLoader.load(PayService.class);
for (PayService payService:load) {
payService.pay();
}
}
}