概念
一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
使用案例
接口
基于阿里云和腾讯云抽取出来的公共的短信接口CommonSmsService:
package com.lyj.demo.sms;
public interface CommonSmsServiceInterface {
/**发送登录短信
* @param phoneNumbers 号码
* @param message 短信
*/
void sendLoginSMS(String phoneNumbers,String message);
/**
* 忘记密码发送短信
*
* @param phoneNumbers 电话号码
* @param message 短信内容
*/
void sendForgetSMS(String phoneNumbers,String message) ;
/**发送营销短信
* @param phoneNumbers 电话号码
* @param message 短信内容
*/
void sendMarketingSMS(String phoneNumbers, String message);
}
实现接口的类
阿里云实现CommonSmsService这个接口的类AliyunSmsServiceImpl:
package com.lyj.demo.sms;
public class AliyunSmsServiceInterfaceImpl implements CommonSmsServiceInterface {
private final AliyunSMS aliyunSMS;
public AliyunSmsServiceInterfaceImpl(AliyunSMS aliyunSMS) {
this.aliyunSMS = aliyunSMS;
}
@Override
public void sendLoginSMS(String phoneNumbers, String message) {
aliyunSMS.sendLoginSMS(phoneNumbers, message);
}
@Override
public void sendForgetSMS(String phoneNumbers, String message) {
aliyunSMS.sendForgetSMS(phoneNumbers, message);
}
@Override
public void sendMarketingSMS(String phoneNumbers, String message) {
aliyunSMS.sendMarketingSMS(phoneNumbers, message);
}
}
腾讯云实现 CommonSmsService这个接口的实现类TencentSmsServiceImpl:
package com.lyj.demo.sms;
public class TencentSmsServiceInterfaceImpl implements CommonSmsServiceInterface {
private final TencentSMS tencentSMS;
public TencentSmsServiceInterfaceImpl(TencentSMS tencentSMS) {
this.tencentSMS = tencentSMS;
}
@Override
public void sendLoginSMS(String phoneNumbers, String message) {
tencentSMS.sendLoginSMS(message,phoneNumbers);
}
@Override
public void sendForgetSMS(String phoneNumbers, String message) {
tencentSMS.sendForgetSMS(message,phoneNumbers);
}
@Override
public void sendMarketingSMS(String phoneNumbers, String message) {
tencentSMS.sendMarketingSMS(message.phoneNumbers);
}
}
标签:tencentSMS,phoneNumbers,Java,String,void,接口,message,public
From: https://www.cnblogs.com/Chiaki17/p/18322281