版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
类与对象应用单元四类和对象概述Java类构造方法目录CONTENTS123对象初始化过程重载45继承多态
78抽象和封装
6抽象类接口
1011包和访问控制
9目录CONTENTS4.11.1接口的概念如果抽象类中的方法都是抽象方法,那么由这些抽象方法组成的特殊的抽象类就是接口。抽象类更侧重于对相似的类进行抽象,形成抽象的父类以供子类继承使用,而接口往往在程序设计的时候,定义模块与模块之间应满足的规约,使各模块之间能协调工作。Java接口定义的语法形式如下:[修饰符]interface接口名[extends][接口列表]{接口体}类实现接口的语法形式如下:[类修饰符]class类名implements接口列表{类体}4.11.2接口的使用(1)定义电子邮件接口。publicinterfaceEmailInterface{//设置发信者邮箱publicvoidsetSendAdd(Stringadd);//设置收信者邮箱publicvoidsetReceiveAdd(Stringadd);//设置邮件主题publicvoidsetEmailTitle(Stringtitle);//设置邮件内容publicvoidwriteEmail(Stringemail);}(2)定义邮箱类,实现Emaillnterface接口。注意,在实现接口中抽象方法的同时,邮箱类本身还有一个showEmail()方法。importjava.util.Scanner;//定义Email,实现Email接口publicclassEmailimplementsEmailInterface{StringsendAdd=""; //发信者邮箱StringreceiveAdd=""; //收信者邮箱StringemailTitle=""; //邮件主题Stringemail=""; //邮件内容//实现设置发信者邮箱publicvoidsetSendAdd(Stringadd){this.sendAdd=add;}//实现设置收信者邮箱publicvoidsetReceiveAdd(Stringadd){this.receiveAdd=add;}//实现设置邮件主题publicvoidsetEmailTitle(Stringtitle){this.emailTitle=title;}//实现设置邮件内容publicvoidwriteEmail(Stringemail){this.email=email;}//显示邮件全部信息publicvoidshowEmail(){System.out.println("***显示电子邮件内容***");System.out.println("发信者邮箱:"+sendAdd);System.out.println("收信者邮箱:"+receiveAdd);System.out.println("邮件主题:"+emailTitle);System.out.println("邮件内容:"+email);}}(3)定义一个邮件作者类。邮件作者类中含静态方法writeEmail(EmailInterfaceemail),用于写邮件,具体代码如下。classEmailWriter{//定义写邮件的静态方法,形参是EmailInterface接口publicstaticvoidwriteEmail(EmailInterfaceemail){Scannerinput=newScanner(System.in);System.out.print("请输入发信者邮箝:");email.setSendAdd(input.next());System.out.print("请输入收信者邮箱:");email.setReceiveAdd(input.next());System.out.print("请输入邮件主题:");email.setEmailTitle(input.next());System.out.print("请输入邮件内容:");email.writeEmail(input.next());//email.showEmail();//编译无法通过,因为形参email是EmailInterface接口,没有此方法}}实现电子邮件。4.11.2接口的使用(4)编写测试类。测试类代码首先创建并实例化出一个实现了电子邮件接口的对象email,然后调用EmailWriter类的静态方法writeEmail写邮件,最后将email对象强制类型转换成Email对象(不提倡此做法),调用Email类的showEmail()方法。publicclassTestInterface2{publicstaticvoidmain(String[]args){//创建并实例化一个实现了电子邮件接口的对象emailEmailInterfaceemail=newEmail();//调用EmailWriter类的静态方法writeEmail写邮件EmailWriter.writeEmail(email);//强制类型转换,调用Email类的showEmail()方法(不是接口方法)((Email)email).showEmail();}
}测试案例运行结果4.11.3接口的特征(1)接口中不允许有实体方法,但是JDK8及以后版本增加了default方法和static方法,这两种方法完全可以有方法体。(2)接口中可以有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 灯具生产老化测试操作工作手册
- 驾校教练员车辆使用管理手册
- 高清镜头下无痕精致妆容打造手册
- 施工技术规范与安全管理手册
- 校园照明灯具更换检修安全操作手册
- 人工智能+产业应用与创新发展手册
- 易燃易爆环境维修安全规范手册
- 建筑工程现场安全管理与紧急处理措施手册
- 通信工程通信工程成本控制与优化手册 (标准版)
- 承包商施工现场物资堆放管理工作手册
- 2025新外研版初中英语八年级上全册课文原文翻译
- 有色金属矿山水文地质勘探规范
- 黄简讲书法初级课程 (1-51)排版
- 医院培训课件:《造血干细胞移植概述》
- 压力容器制造作业指导书
- 六年级数学下册期末试卷及答案【可打印】
- 国家开放大学2016招生简章
- 贵州省六盘水二十中学2024届物理八下期末学业水平测试试题及答案解析
- 生物医学电子学智慧树知到期末考试答案章节答案2024年天津大学
- 色素及着色剂
- 网络互联技术期末考试附有答案
评论
0/150
提交评论