版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
类与对象应用单元四类和对象概述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年太阳能组件生产装备项目合作计划书
- 2025年镀铬板(卷)合作协议书
- 中国垃圾填埋场治理行业市场前景预测及投资价值评估分析报告
- 信息安全与加密教学课件
- 2025年青海省西宁市中考生物真题卷含答案解析
- 大数据安全技术与管理
- 2026年中小学校长校园安全管理培训考试题及答案
- 2025年山东建筑大学思想道德修养与法律基础期末考试模拟题必考题
- 江西省赣州地区2023-2024学年七年级上学期期末英语试(含答案)
- 2025年香港沪江维多利亚笔试及答案
- 述职报告中医
- 患者身份识别管理标准
- 松下Feeder维护保养教材
- 汽车融资贷款合同范本
- 码头租赁意向协议书
- 初一语文2025年上学期现代文阅读真题(附答案)
评论
0/150
提交评论