已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2006,1,Java程序设计基础 专业教程 理论讲解部分 Ver 3.1,2006,2,课程概述,抽象类和接口 内部类,重点,抽象类和接口,难点,内部类,学习目标,掌握Java面向对象程序设计,2006,3,4.9 抽象类和接口,4.9.1 抽象类,一个类声明了方法的存在而不是实现,以及带有对已知行为的方法的实现。 这样的类通常被称做抽象类(abstract class)。通过用关键字abstract进行标记声明一个抽象类。,2006,4,4.9 抽象类和接口,4.9.1 抽象类,抽象方法的格式:,abstract class Shape abstract float area(); ,abstract returnType abstractMethod ( paramlist );,例如:,2006,5,4.9 抽象类和接口,4.9.1 抽象类,抽象类必须被继承,抽象方法必须被重写。,class Rectangle extends Shape public float width,height; Rectangle (float w, float h) width = w; height = h; public float area() return width*height; ,class Circle extends Shape public float r; Circle(float r) this.r = r; public float area() return 3.14*r*r; ,2006,6,4.9 抽象类和接口,4.9.2 接口,接口是类似于类的一种结构。 可以把接口看成是由常量和抽象方法组成的特殊类。(接口特别像 纯粹的抽象类) 接口是对C+的多重继承性的替代,即接口是用来实现类间多重继承功能的结构。 Java语言规定:一个类只能继承一个父类。 通过实现接口,某个类可以拥有多个父接口。,2006,7,4.9 抽象类和接口,4.9.2 接口,接口的定义格式:,public interface interfaceNameextends listOfSuperInterface ,接口体包括常量定义和方法定义。,2006,8,4.9 抽象类和接口,4.9.2 接口,常量定义格式为:,type NAME=value;,其自动具有public ,final, static的属性,所以写成如下格式是一样的:,public static final type NAME=value;,2006,9,4.9 抽象类和接口,4.9.2 接口,方法定义格式为:,returnType methodName(paramlist);,其自动具有 public和abstract属性,所以写成如下格式也是一样的:,public abstract returnType methodName(paramlist);,2006,10,4.9 抽象类和接口,4.9.2 接口,定义接口的特点:,定义的方法没有方法体.它们本质上是抽象方法,每个实现接口的类必须实现所有的方法。 接口中可以声明变量,它们是,public final和static型。 如果一个类实现了一个接口,但是不完全实现接口定义的方法,那么该类必须定义成abstract型。,2006,11,4.9 抽象类和接口,4.9.2 接口,定义接口的特点:,接口用于定义几个类具有的但又不是在这些类中定义的功能。 接口定义的仅仅是实现某一特定功能的对外接口和规范,并没有真正地实现这个功能。 接口中定义的各种功能的实现是在“继承”这个接口的各个类中完成的,即由这些类来具体定义接口中各抽象方法的方法体。,2006,12,4.10 内部类,4.10.1 内部类的定义和使用,内部类(Inner Class)是在一个类的内部嵌套定义的类。 它可以是其它类的成员,也可以在一个语句块的内部定义,还可以在表达式内部匿名定义。,内部类允许一个类定义被放到另一个类定义里。内部类是一个有用的特征,因为它们允许将逻辑上同属性的类组合到一起,并在另一个类中控制一个类的可视性。,2006,13,4.10 内部类,4.10.1 内部类的定义和使用,内部类有如下特性:,(1)一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称。名字不能与包含它的类名相同。 (2)可以使用包含它的类的静态和实例成员变量,也可以使用它所在方法的局部变量。 (3)可以定义为abstract。 (4)可以声明为private或protected。 (5)若被声明为static,就变成了顶层类,不能再使用局部变量。 (6)若想在Inner Class中声明任何static成员,则该Inner Class必须声明为static。,2006,14,4.10 内部类,4.10.2 匿名内部类,匿名类是一种特殊的没有类名的内部类,它是在一个表达式内部包含一个完整的类定义。 由于构造器必须同类名相同,而匿名类没有名字,所以匿名类不能有构造器。,2006,15,4.10 内部类,4.10.2 匿名内部类,匿名内部类的语法格式如下:,new SuperType(construction parameters) methods and data ,如果内部类实现的是接口,则语法格式为:,new InterfaceType() methods and data ,2006,16,4.10 内部类,4.10.2 匿名内部类,内部类的语法确实比较混乱和难以理解,虽然带来代码量的减少,但确使代码的易读性大大降低。 就总体而言,Java语法比C+语法有了巨大的提升,而匿名内部类却成为一个例外。内部类使用的取舍,主要取决于程序工程的需求。,2006,17,本课小结,抽象类和接口的概念和用法 内部类的使用方法,2006,18,小测验,单选题 1下列说法正确的是( ) A. 抽象方法一定在抽象类中 B. 抽象方法一定在接口中 C. 抽象方法可以在抽象类中也可以在接口中 D. 抽象方法可以在任何类中出现 多选题 2下列说法正确的是( ) A. 内部类是定义在同一个源文件中的2个类,他们相互称为内部类 B. 内部类是定义在一个类的内部的类 C. 内部类是定义在一个方法内部的类 D. 内部类是其他类无法访问的类,2006,19,小测验答案,单选题 1下列说法正确的是(C) A. 抽象方法一定在抽象类中 B. 抽象方法一定在接口中 C. 抽象方法可以在抽象类中也可以在接口中 D. 抽象方法可以在任何类中出现 多选题 2下列说法正确的是(BC) A. 内部类是定义在同一个源文
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如何提升员工的凝聚力
- 热点专项练3-【高考化学】2025版高考一品方案一轮复习
- 大班游戏拼音课件设计框架
- 第25课时 伏安法实验 一、探究电流与电压、电阻的关系 课件 2026年中考物理一轮复习考点精讲(云南)
- 肺结核出院宣教
- 低硫燃油期货介绍
- 2025食品采购合同模板
- 预防医学科感染性疾病预防要点
- 上海高压电工操作证考试试题及答案
- 维修电工年终工作总结2025(3篇)
- 职业学院旅游管理专业核心课《景区服务与管理》课程标准
- 运维培训计划及方案
- 北师大版八年级上学期数学期中模拟测试卷(含答案)
- 高耗能落后机电设备淘汰目录
- 维修空调合同模板7篇
- 旋风除尘器设计计算
- 在线网课知慧《国际商务(双语)(吉林财大)》单元测试考核答案
- 新产品开发计划书
- 创新管理及其实施策略
- 中药贴敷在骨折康复中的临床应用
- 母婴护理讲师如何讲好课件
评论
0/150
提交评论