面向对象(高级 1).ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA 语言程序设计 第6章:面向对象(高级) —— 继承的基本实现 目标 掌握继承的基本概念及实现 掌握继承实现的各种限制 为什么要有继承? 类的继承格式 在Java中使用extends关键字完成类的继承关系,操作格式: class 父类{} // 定义父类 class 子类 extends 父类{} // 使用extends关键字实现继承 继承的实现 通过子类扩展父类的功能 Person与Student的继承关系图 继承的限制 在Java中只允许单继承,不能使用多重继承,即:一个子类只能继承一个父类。但是允许进行多层继承,即:一个子类可以有一个父类,一个父类还可以有一个父类。 继承的类图表示 访问限制 在使用继承的时候也应注意的是:子类是不能直接访问父类中的私有成员和私有方法,但是可以调用父类中的非私有方法。 子类访问限制 下一知识点 JAVA 语言程序设计 第6章:面向对象(高级) —— 继承进阶 目标 掌握子类对象的实例化过程 掌握方法覆写的概念及实现 掌握super关键字的作用 子类对象实例化过程 在继承的操作中,对于子类对象的实例化也是有要求的:“子类对象在实例化之前必须首先调用父类中的构造方法之后再调用子类自己的构造方法”。 观察子类对象的实例化过程 隐含的语句 对于以上的代码实际在子类的构造方法中隐含了一个super()的语法 方法的覆写 在继承的关系中也存在着方法覆写的概念,所谓的方法覆写就是指子类定义了与父类中同名的方法,但是在方法覆写时必须考虑到权限,即:被子类覆写的方法不能拥有比父类方法更加严格的访问权限。 已学习过的三种访问权限: 关于访问权限,实际上前几章读者已经见过三种访问权限了:private、default、public,这三种访问权限的具体作用本书后面会有介绍,读者现在只需要记住大小关系即可:private default public。 所以,如果在父类中使用public定义的方法,子类的访问权限必须是public,否则程序会无法编译。 方法的覆写 错误的方法覆写 如果现在被子类覆写的方法权限缩小的话,则在编译时将出现错误提示。 调用父类中被子类覆写过的方法 在子类中可以使用“super.方法()”的形式,从子类访问父类中的方法。 思考? 如果现在将父类的一个方法定义成private访问权限,在子类中将此方法声明为default访问权限,那么这样还叫做覆写吗? 属性的覆盖 在继承中除了方法可以覆写之外,属性也可以覆盖,所谓的属性覆盖就是指子类声明了与父类同名的属性。 方法的重载与覆写的区别 super关键字的作用 使用super可以从子类中调用父类中的构造方法、普通方法、属性。 使用super调用父类中的指定构造方法 this与super的区别 下一知识点 JAVA 语言程序设计 第6章:面向对象(高级) —— final关键字 目标 掌握final关键字的使用要求 掌握全局常量的声明 final关键字 final在java中表示的意思是最终的意思。也可以称为完结器。 可以使用final关键字声明类、属性、方法: 使用final声明的类不能有子类; 使用final声明的方法不能被子类所覆写; 使用final声明的变量即成为常量,常量不可以修改 。 使用final修饰的类不能有子类 使用final修饰的方法不能被子类覆写 被final修饰的变量即成为常量 全局常量 使用static final关键字联合声明的变量称为全局常量: public static final String INFO = RJXY ; 下一知识点 JAVA 语言程序设计 第6章:面向对象(高级) —— 抽象类的基本概念 目标 掌握抽象类的定义格式 掌握抽象类的使用规则 抽象类的定义及使用规则 包含一个抽象方法的类必须是抽象类; 抽象类和抽象方法都要使用abstract关键字声明; 抽象方法只需声明而不需要实现; 抽象类必须被子继承,子类(如果不是抽象类)必须覆写抽象类中的全部抽象方法。 抽象类的定义格式 定义一个抽象类 继承抽象类 抽象类的图形表示 抽象类的思考 问题1:一个抽象类可以使用final关键字声明吗? 问题2:一个抽象类中可以定义构造方法吗? 回答 问题一: 一个类如果使用了final关键字声明,则此类不能被子类继承,而抽象类又必须被子类覆写,所以很明显,第一个问题的答案是:“一个抽象类不能使用final关键字声明”。 问题二: 实际上在一个抽象类中是允许存在构造方法的,因为抽象类依然使用的是类的继承关系,而且抽象类中也存在各个属性,所以

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档