版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
类与对象应用单元四类和对象概述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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市北方交大附中2027届高一物理第一学期期中调研试题含解析
- 2027届太原师院附中高二物理第一学期期中质量跟踪监视模拟试题含解析
- 安徽省合肥市巢湖市汇文实验学校2027届高二物理第一学期期末质量检测试题含解析
- 广州市2027届高二物理第一学期期末教学质量检测模拟试题含解析
- 2027届湖南省邵阳市邵东县第四中学物理高一上期中达标检测模拟试题含解析
- 2026福建红树林投资集团有限公司招聘10人考试备考题库及答案详解
- 交通标志牌制作合同
- 滨州市沾化区中医院2026年公开招聘工作人员(1人)笔试备考试题及答案详解
- 遂宁市中心医院 2026年9月公开招聘急需紧缺卫生专业技术人才笔试备考题库及答案详解
- 2026秋季广东华夏高级技工学校招聘考试备考题库及答案详解
- 光大证券2027届校园招聘笔试备考题库及答案详解
- 雾化吸入疗法合理用药专家共识(2024版)课件
- 安全隐患排查上报管理制度(4篇)
- 糖尿病视网膜病变科普
- 水库除险加固工程施工设计总说明
- DBJ∕T 15-120-2017 城市轨道交通既有结构保护技术规范
- 《陆上风电场工程概算定额》NBT 31010-2019
- 一般纳税人企业税费缴纳测算及成本倒轧测算表
- 机械展会报告
- 2024年四川广安鑫鸿集团有限公司招聘笔试参考题库含答案解析
- GB/T 18329.2-2023滑动轴承多层金属滑动轴承第2部分:合金厚度≥2 mm的结合强度破坏性试验
评论
0/150
提交评论