首页 > 编程语言 >Java 接口

Java 接口

时间:2024-07-26 16:21:33浏览次数:6  
标签:tencentSMS phoneNumbers Java String void 接口 message public

概念

一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

使用案例

接口

基于阿里云和腾讯云抽取出来的公共的短信接口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

相关文章

  • Java从入门到精通 (十) ~ 计算机是如何工作的呢 ?
    每天进步一点点,每天创造一点点,每天做事多一点,愿你事事都领先,卓越成绩现眼前,美好生活一天又一天。文章目录目录前言前置知识认识一下计算机的真实相貌都说计算机使用二进制传输,为什么要使用二进制呢?为什么人常用十进制呢?计算机的发展趋势?软件介绍硬件的发展历史电......
  • Java学习Day_2总结
    1.文档注释用法:先输入/**,然后按下回车,需要几行信息就写几行,最后写上*/./***@author黄大侠*@version1.1*/完整代码示例:/***@author黄大侠*@version1.1*/publicclassJavaDoc{publicstaticvoidmain(String[]args){......
  • 如何在 Windows 上配置 Java 开发环境
    配置Java开发环境是Java开发者的基础任务之一。本文将指导你如何在Windows操作系统上安装Java开发工具包(JDK)并设置相应的环境变量,确保你的开发环境能够正确编译和运行Java程序。第一步:下载和安装JDK访问JDK下载网站:前往Oracle官方网站或其他JDK提供商......
  • crontab在java-spring中的语法规则
      秒分钟小时日月周年每******** 每秒每分每时每天每月每周每年区间;从a-b-a-ba-ba-ba-ba-ba-ba-b 从a秒到b秒从a分到b分从a点到b点从a号到......
  • IT实战课堂计算机毕业设计精品基于java的旅游景点管理网站SSM
    项目功能简介:《基于java的旅游网站ssm》该项目含有源码、文档等资料、配套开发软件、软件安装教程、项目发布教程等使用技术:开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Mav......
  • Java虚拟机详解(JVM)
    目录1.概念与历史背景2.结构与组成2.1类文件格式2.2主要内存区域3.功能与特性3.1类加载机制3.2垃圾回收机制3.3执行引擎3.4安全机制4.实现细节5.应用场景总结Java虚拟机(JavaVirtualMachine,简称JVM)是Java程序运行的核心组件,它为Java程序提供了一个......
  • [深入理解Java虚拟机]原子性/可见性/有序性
    原子性、可见性与有序性Java内存模型是围绕着在并发过程中如何处理原子性、可见性和有序性这三个特征来建立的,我们逐个来看一下哪些操作实现了这三个特性。原子性(Atomicity)由Java内存模型来直接保证的原子性变量操作包括read、load、assign、use、store和write这六个,我们大......
  • “Elasticsearch精英进阶:从零到精通的安装,从Kibana到Java API,全面掌握CRUD与DSL查询及
    目录引言1.初识elasticsearch1.1.认识和安装 1.1.1.安装elasticsearch 1.1.2.安装Kibana 1.2.倒排索引1.2.1.正向索引1.2.2.倒排索引1.2.3.正向和倒排1.3.基础概念1.3.1.文档和字段1.3.2.索引和映射1.3.3.mysql与elasticsearch1.4.1.安装IK分词器1.4.2.使......
  • pytest-req插件:更简单的做接口测试
    pytest-req插件:更简单的做接口测试背景我们经常会用到pytest和requests进行接口自动化测试。pytest提供了非常方便的插件开发能力,在pytest中使用requests库首先会想到是否有已经封装好的插件,就像pytest-playwright、pytest-selenium一样。可惜找了一下没有。于是,自己动手......
  • 测试面试宝典(三十一)—— 接口测试用例的编写要点有哪些?
    以下是接口测试用例编写的要点:1.基本信息•明确接口的名称、版本、调用方式(如HTTP、RPC等)以及接口的功能描述。2.输入参数•覆盖各种合法和非法的输入值,包括必填项、可选项、空值、特殊字符、超长字符串等。•考虑不同数据类型(如整数、浮点数、字符串、布尔值等)的......