北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第七讲 接口与数据结构

第七讲 接口与数据结构 北京理工大学计算机系金旭亮
接口与数据结构 北京理工大学计算机系 金旭亮 第七讲

本讲内容 ■接口与内部类 ■基本数据结构 021/2/24 北京理工大学计算机系(共38页)
2021/2/24 北京理工大学计算机系 (共38页) 2 本讲内容 接口与内部类 基本数据结构

第一部分接口与内部类
第一部分 接口与内部类

什么是接口(一) ■引例 鸭子是一种鸟,又是一种食物,如何在面 向对象的程序中表达这种关系? 021/2/24 北京理工大学计算机系(共38页)
2021/2/24 北京理工大学计算机系 (共38页) 4 什么是接口(一) 引例: 鸭子是一种鸟,又是一种食物,如何在面 向对象的程序中表达这种关系?

什么是接口?(二) public interface IFood i public void Cook(object o Public class duck implements FOod public void Cook(object o)i 021/2/24 北京理工大学计算机系(共38页)
2021/2/24 北京理工大学计算机系 (共38页) 5 什么是接口?(二) public interface IFood { public void Cook(Object o); } Public class Duck implements IFood{ public void Cook(Object o) { …… } …… }

使用接口 ■ fOod f= new duck0; ■格式: 接口类型的变量 neW实现了接口的子类类型(); 021/2/24 北京理工大学计算机系(共38页)
2021/2/24 北京理工大学计算机系 (共38页) 6 使用接口 IFood f=new Duck(); 格式: 接口类型的变量= new 实现了接口的子类类型();

接口的含义 ■所有实现本接口的 classes,看起来都应该 象这样 ■定义一个接口,采用关键字 "interface,实现 个接口,采用关键字 implements 021/2/24 北京理工大学计算机系(共38页)
2021/2/24 北京理工大学计算机系 (共38页) 7 接口的含义 “所有实现本接口的classes,看起来都应该 象这样……” 定义一个接口,采用关键字interface,实现 一个接口,采用关键字implements

接口的要点 ■接口的成员函数自动成为 public的,数据成 员自动成为 static和fnal的。 如果接口不声明为 public的,则自动变为 friendly,仅包内组件可以使用 021/2/24 北京理工大学计算机系(共38页)
2021/2/24 北京理工大学计算机系 (共38页) 8 接口的要点 接口的成员函数自动成为public的,数据成 员自动成为static和final的。 如果接口不声明为public的,则自动变为 friendly,仅包内组件可以使用

接口的特性 ■接口是一种抽象类,它的所有方法都是抽象 方法; ■接口的定义:用 interface取代Cass ■接口的实现:实现接口的类不从该接口的定 义中继承任何行为,在实现该接口的类的任 何对象中都能够调用它这个接口中定义的方 法,在实现的过程中,这个类还可以同时实 现其他接口 021/2/24 北京理工大学计算机系(共38页)
2021/2/24 北京理工大学计算机系 (共38页) 9 接口的特性 接口是一种抽象类,它的所有方法都是抽象 方法; 接口的定义:用interface取代Class 接口的实现: 实现接口的类不从该接口的定 义中继承任何行为,在实现该接口的类的任 何对象中都能够调用它这个接口中定义的方 法,在实现的过程中,这个类还可以同时实 现其他接口

接口多态 使用接口名称作为一个引用变量的类型 该引用变量可以用来指向任何实现了该接 口的类的实例。使用时将根据动态连接的 原则,视该变量所指向的具体实例进行操 作 ■这是多态特性的一个体现。(举例说明) 接口的使用是 Java oop的重要核心之一, 要好好理解和掌握 021/2/24 北京理工大学计算机系(共38页)
2021/2/24 北京理工大学计算机系 (共38页) 10 接口多态 使用接口名称作为一个引用变量的类型, 该引用变量可以用来指向任何实现了该接 口的类的实例。使用时将根据动态连接的 原则,视该变量所指向的具体实例进行操 作。 这是多态特性的一个体现。(举例说明) 接口的使用是Java OOP的重要核心之一, 要好好理解和掌握
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)Java开发Application.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第二讲 Java应用程序与Applet.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第三讲 Java语法基础.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第一讲 Java导论与Java开发环境(主讲:金旭亮).ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(学生作业)面向对象文档.doc
- 湖南农业大学:《计算机组成原理教案》第一章 计算机系统概论(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第五章 中央处理器(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第三章 存储系统(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第七章 显示器(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第六章 总线的基本概念(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第二章 数据格式(蒋邵平).ppt
- 重庆邮电大学:《C语言程序设计》课程授课计划二.doc
- 重庆邮电大学:《C语言程序设计》课程授课计划一.doc
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第9讲 存储类型 宏定义 数组.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第8讲 模块化程序设计.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第7讲 综合程序设计.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第6讲 循环和综合程序设计.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第5讲 多分支和循环.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第4讲 作用域和选择结构程序设计.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第3讲 多函数程序设计.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第五讲 创建与使用类.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第八讲 异常处理.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第六讲 继承与多态.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第四讲 方法.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)Java考试指导.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第九讲 范型程序设计.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十一讲 反射与序列化.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十三讲 图形程序设计.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十二讲 多线程.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十五讲 面向对象理论小结.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十四讲 事件处理模型与GUI图形界面设计.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十讲 文件与流操作.ppt
- 《网络教程习题》1-14操作题.doc
- 《网络教程习题》15-30操作题.doc
- 《网络教程习题》31-43操作题.doc
- 《网络教程习题》44-53操作题.doc
- 《网络教程习题》54-68操作题.doc
- 《网络教程习题》69-72操作题.doc
- 《网络教程习题》73-79操作题.doc
- 《网络教程习题》80-81操作题.doc