书签 分享 收藏 举报 版权申诉 / 39
上传文档赚钱

类型Java程序设计-第3章-类类的继承和接口课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4301066
  • 上传时间:2022-11-27
  • 格式:PPT
  • 页数:39
  • 大小:629KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Java程序设计-第3章-类类的继承和接口课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Java 程序设计 继承 接口 课件
    资源描述:

    1、本章目标本章目标理解面向对象程序设计的思想理解面向对象程序设计的思想掌握与面向对象的封装性相关的基本概念掌握与面向对象的封装性相关的基本概念掌握与面向对象的继承性相关的基本概掌握与面向对象的继承性相关的基本概掌握与面向对象的多态性相关的基本概念掌握与面向对象的多态性相关的基本概念第第3章章 类、类的继承和接口类、类的继承和接口 3.1 类类 3.2 包的创建和使用、源文件结构包的创建和使用、源文件结构 3.3 类的继承和多态类的继承和多态 3.4 接口和接口的实现接口和接口的实现 3.5 内部类和匿名内部类内部类和匿名内部类3.1 类类 3.1.1 类的修饰符类的修饰符 3.1.2 类的成员类

    2、的成员 3.1.3 域、域的访问控制修饰符和其他修饰符域、域的访问控制修饰符和其他修饰符 3.1.4 静态方法、抽象方法和最终方法静态方法、抽象方法和最终方法 3.1.5 构造方法构造方法 3.1.6 关键字关键字this 3.1.7 抽象和封装抽象和封装 3.1.8 对象的清除对象的清除3.1 类类 3.1.1 类的修饰符类的修饰符修饰符修饰符1 class 类名类名 extends 父类名父类名 implements 接口名列表接口名列表 修饰符修饰符2 类型名类型名 域名域名;public 类名类名(参数列表参数列表)/;修饰符修饰符3 返回值类型返回值类型 方法名方法名(参数列表参数列

    3、表)throws 异常异常/;修饰符修饰符1:public、abstract|final修饰符修饰符2:public|protected|private、static、fianl、transient、volatile修饰符修饰符3:public|protected|private、static、fianl|abstract、synchronized、native3.1 类类 3.1.2 类的成员类的成员 域:也称属性、字段、成员变量。域:也称属性、字段、成员变量。方法方法 内部类内部类3.1 类类 3.1.3 域、域的访问控制修饰符和其他修饰符域、域的访问控制修饰符和其他修饰符 域的初始化域的

    4、初始化 声明其他类对象作为一个类的域声明其他类对象作为一个类的域 域的访问控制域的访问控制 封装和公开封装和公开 静态域静态域 最终域最终域 域的声明格式域的声明格式3.1 类类 3.1.3 域、域的访问控制修饰符和其他修饰符域、域的访问控制修饰符和其他修饰符 域的初始化域的初始化 All reference typenull byte、short、int0 long0L float0.0F double0.0D charu0000 booleanfalse;例例3.1(Page94):TestBirthdy.java3.1 类类 3.1.3 域、域的访问控制修饰符和其他修饰符域、域的访问控制

    5、修饰符和其他修饰符 声明其他类对象作为一个类的域声明其他类对象作为一个类的域例例3.2(Page96):):TestPerson.java与与Person.java3.1 类类 3.1.3 域、域的访问控制修饰符和其他修饰符域、域的访问控制修饰符和其他修饰符 域的访问控制域的访问控制 封装和公开封装和公开访问权限修饰符访问权限修饰符类类子类子类包包其它类其它类privateXdefaultXXprotectedXXXpublicXXXX3.1 类类 3.1.3 域、域的访问控制修饰符和其他修饰符域、域的访问控制修饰符和其他修饰符 域的访问控制域的访问控制 封装和公开封装和公开 为了实现良好的封

    6、装性,通常将类的域声明为为了实现良好的封装性,通常将类的域声明为private,再通过再通过public的方法来对这个域进行访的方法来对这个域进行访问。问。例例3.3(Page98)3.1 类类 3.1.3 域、域的访问控制修饰符和其他修饰符域、域的访问控制修饰符和其他修饰符 静态域静态域 所有对象共享的所有对象共享的域,也称域,也称类变量类变量(区别于(区别于),用),用static修饰,可通过对象名或修饰,可通过对象名或类名访问类名访问。例例3.4(Page100):):TestCar.java与与Car.java不能把任何方法体中的变量不能把任何方法体中的变量(局部变量)声明为静态的!(

    7、局部变量)声明为静态的!注意注意3.1 类类 3.1.3 域、域的访问控制修饰符和其他修饰符域、域的访问控制修饰符和其他修饰符 最终域最终域 public static final 类型类型 常量名常量名=初始值;初始值;最终域的值一旦确定就不能重新赋值!最终域的值一旦确定就不能重新赋值!一般通过类名引用最终域。一般通过类名引用最终域。域的声明格式域的声明格式3.1 类类 3.1.4 静态方法、抽象方法和最终方法静态方法、抽象方法和最终方法 方法的定义格式方法的定义格式 方法的访问控制修饰符方法的访问控制修饰符 静态方法静态方法 最终方法最终方法 抽象方法抽象方法3.1 类类 3.1.4 静态

    8、方法、抽象方法和最终方法静态方法、抽象方法和最终方法 静态方法静态方法 有时希望有时希望不创建对象不创建对象就能就能调用调用某个方法某个方法 调用静态方法的格式:调用静态方法的格式:类名类名.静态方法静态方法或者或者对象名对象名.静态方法静态方法 例例3.5(Page103):):UseStaticVar.java3.1 类类 3.1.4 静态方法、抽象方法和最终方法静态方法、抽象方法和最终方法 静态方法静态方法 在静态方法里只能在静态方法里只能直接调用同类直接调用同类中其他的静态成中其他的静态成员,而不能员,而不能直接调用同类直接调用同类中的非静态成员。中的非静态成员。静态方法不能以任何方式

    9、引用静态方法不能以任何方式引用this和和super关键字。关键字。注意注意3.1 类类 3.1.4 静态方法、抽象方法和最终方法静态方法、抽象方法和最终方法 最终方法最终方法 用关键字用关键字final修饰的方法,不能被重写修饰的方法,不能被重写/覆盖覆盖(Page104)。)。抽象方法抽象方法 用关键字用关键字abstract修饰的方法,只有方法头,修饰的方法,只有方法头,没没有方法体有方法体。左、右花括号左、右花括号+左、右左、右花括号之间的部分,花括号之间的部分,均用分号代替!均用分号代替!3.1 类类 3.1.5 构造方法构造方法 构造方法的规则:构造方法的规则:Page105 构造

    10、方法的重载构造方法的重载 例例3.6(Page106):):TestBirthday.java与与Birthday.java3.1 类类 3.1.6 关键字关键字this 含义及使用:含义及使用:Page107 例例3.6(Page107):):TestBirthday.java与与Birthday.java3.1 类类 3.1.7 抽象和封装抽象和封装 3.1.8 对象的清除对象的清除 垃圾回收器垃圾回收器 System.gc();3.2 包的创建和使用、源文件结构包的创建和使用、源文件结构 3.2.1 包包 3.2.2 创建包和使用包中的类创建包和使用包中的类 3.2.3 源文件结构和程序

    11、说明文档的生成源文件结构和程序说明文档的生成3.2 包的创建和使用、源文件结构包的创建和使用、源文件结构 3.2.1 包包 Java通过引入包通过引入包(package)机制,提供类的多层类命机制,提供类的多层类命名空间,来解决类的命名冲突问题。名空间,来解决类的命名冲突问题。完整的类名是:包名完整的类名是:包名.类名。类名。类及类成员的访问:类及类成员的访问:Page110。3.2 包的创建和使用、源文件结构包的创建和使用、源文件结构 3.2.2 创建包和使用包中的类创建包和使用包中的类 package语句语句package 包名包名.下一级包名下一级包名.;javac命令中的命令中的-d选

    12、项选项 import语句语句 import 包名包名.类名类名;import 包名包名.*;3.2 包的创建和使用、源文件结构包的创建和使用、源文件结构 3.2.3 源文件结构和程序说明文档的生成源文件结构和程序说明文档的生成Page 1133.3 类的继承和多态类的继承和多态 3.3.1 类的包含关系和继承关系类的包含关系和继承关系 3.3.2 类成员的继承和重新定义类成员的继承和重新定义 3.3.3 子类对父类构造方法的调用子类对父类构造方法的调用关键字关键字super 3.3.4 父类和子类对象的转换父类和子类对象的转换 3.3.5 抽象类和最终类抽象类和最终类3.3 类的继承和多态类的

    13、继承和多态 3.3.1 类的包含关系和继承关系类的包含关系和继承关系汽车汽车发动机发动机车轮车轮方向盘方向盘Has-A(包含)关系(包含)关系红星苹果红星苹果红富士苹果红富士苹果苹果苹果梨梨水果水果Is-A(继承)关系(继承)关系3.3 类的继承和多态类的继承和多态 3.3.2 类成员的继承和重新定义类成员的继承和重新定义例例3.10(P113)、例、例3.11(P119)与例与例3.12(P120)定义子类的格式:定义子类的格式:extends关键字关键字 类成员的继承类成员的继承 子类拥有父类所有子类拥有父类所有非私有非私有变量变量(/域域)和方法的和方法的使用权使用权。子类添加成员子类添

    14、加成员3.3 类的继承和多态类的继承和多态 3.3.2 类成员的继承和重新定义类成员的继承和重新定义 重新定义从父类继承来的成员重新定义从父类继承来的成员 方法覆盖的规则方法覆盖的规则 变量隐藏:可通过变量隐藏:可通过”super.变量名变量名”引用父类同名变量。引用父类同名变量。方法覆盖方法覆盖 定义:子类有与父类同名的方法。定义:子类有与父类同名的方法。规则:规则:Page118 子类的方法名、返回值类型、子类的方法名、返回值类型、参数列表参数列表与父类与父类一样一样 访问控制级别:子类不能比父类更严格(宽松性:访问控制级别:子类不能比父类更严格(宽松性:publicprotected默认

    15、默认private)异常:子类不多于父类异常:子类不多于父类3.3 类的继承和多态类的继承和多态 3.3.3 子类对父类构造方法的调用子类对父类构造方法的调用关键字关键字super(例例3.13、例、例3.14)super.变量名变量名 引用被子类隐藏的变量引用被子类隐藏的变量 super.方法名方法名 调用被子类覆盖的父类的方法调用被子类覆盖的父类的方法 super(参数列表参数列表)子类构造方法调用父类构造方法子类构造方法调用父类构造方法super(参数列表参数列表)必须是子类构造方法中的第一个语句!必须是子类构造方法中的第一个语句!不能与不能与this(参数列表参数列表)同时出现在构造方

    16、法中!同时出现在构造方法中!注意注意3.3 类的继承和多态类的继承和多态 3.3.4 父类和子类对象的转换父类和子类对象的转换gouGouIs yanJing an Animal?Is yanJing a Dog?Animal yanJing=new Dog();Dog gouGou=(Dog)yanJing;yanJing父类父类子类子类3.3 类的继承和多态类的继承和多态 3.3.4 父类和子类对象的转换父类和子类对象的转换Is yanJing an Animal?Is yanJing a Dog?Animal yanJing=new Cat();Dog gouGou=(Dog)yanJi

    17、ng;yanJing3.3 类的继承和多态类的继承和多态 3.3.4 父类和子类对象的转换父类和子类对象的转换gouGouAnimal yanJing=new Dog();if(yanJing instanceof Dog)Dog gouGou=(Dog)yanJing;yanJingIs yanJing a Dog?instanceofyanJing.shout();shout()3.3 类的继承和多态类的继承和多态 3.3.5 抽象类和最终类抽象类和最终类 抽象类抽象类 由由abstract修饰的类,只能做父类,不能实例化。修饰的类,只能做父类,不能实例化。最终类最终类 由由final修饰

    18、的类,不能做父类。修饰的类,不能做父类。3.4 接口和接口的实现接口和接口的实现 3.4.1 接口概述接口概述 3.4.2 自定义接口和实现接口自定义接口和实现接口 3.4.3 Java类库中的接口实现举例类库中的接口实现举例3.4 接口和接口的实现接口和接口的实现 3.4.2 自定义接口和实现接口自定义接口和实现接口 自定义接口自定义接口public interface 接口名称接口名称 extends 父接口名列表父接口名列表 /静态常量静态常量 public static final 数据类型数据类型 变量名变量名=常量值;常量值;/抽象方法抽象方法 public abstract 返回

    19、值类型返回值类型 方法名方法名(参数列表参数列表);3.4 接口和接口的实现接口和接口的实现 3.4.2 自定义接口和实现接口自定义接口和实现接口 实现接口实现接口修饰符修饰符 class 类名类名 extends 父类名父类名 implements 接口接口A,接接口口B,类的成员变量和成员方法;类的成员变量和成员方法;为接口为接口A中的所有方法编写方法体,实现接口中的所有方法编写方法体,实现接口A;为接口为接口B中的所有方法编写方法体,实现接口中的所有方法编写方法体,实现接口B;3.4 接口和接口的实现接口和接口的实现 3.4.2 自定义接口和实现接口自定义接口和实现接口 接口实现举例接口

    20、实现举例Assembler.java思考:如果思考:如果SoundCard类中具有类中具有PCI接口中的所有方接口中的所有方法,但没有明确声明它实现了法,但没有明确声明它实现了PCI接口,接口,SoundCard的对象实例能不能直接传递给的对象实例能不能直接传递给MainBoard的的usePCICard方法使用?方法使用?3.5 内部类和匿名内部类内部类和匿名内部类要点总结要点总结 类的定义(类的定义(private/public成员、成员、this、常量)、常量)对象的创建与使用(构造方法、对象的创建与使用(构造方法、new、域选择运、域选择运算符)算符)包的声明与引用包的声明与引用 类的继承(类的继承(extends、super)、方法覆盖()、方法覆盖(/重重载)、对象类型转换载)、对象类型转换 接口的定义与实现接口的定义与实现

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Java程序设计-第3章-类类的继承和接口课件.ppt
    链接地址:https://www.163wenku.com/p-4301066.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库