第8章 面向对象高级特性1.pptVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 面向对象高级特性1

教学目的及要求 理解:继承的含义。 掌握: 静态成员要素的使用方法; 类间继承的应用; super和this关键字的使用; 方法的覆盖。 第8章 面向对象高级特性 8.1 静态 8.1.1 静态属性 8.1.2 静态方法 8.1.3 特殊静态方法main 8.1.4 变量初始化的顺序 8.1.5 程序块 第8章 面向对象高级特性 8.2 类的继承 8.2.1 继承(Inheritance)的含义 8.2.2 继承的语法和规则 8.2.3 子类实例化的过程 8.2.4 super关键字和this关键字 8.3 方法的覆盖 作业 编程实现下列要求: 定义一个人类,类中包含姓名(name)、年龄(age)、性别(sex)及配偶姓名(spouseName)属性,同时具有工作(work)、休息(rest)、娱乐(amusement)及处理家务(housework)四种行为方法。 定义一个继承人类的学生类,学生类将从人这一父类中继承除配偶姓名以外的三类属性,并继承除工作和处理家务以外的两类行为,同时要添加自身类特有的几类属性:所属学校(school)、所学专业(specialty)及所在年级(degree),同时还要增加几种学生的行为方法:学习(study)与考试(exam)。 每次调用构造方法对学号(stuCode)做自增运算。在主类main方法中顺次创建3个学生对象并显示各个对象的信息。 提示:String.valueOf(stuCode)将学号转换为字符串型。 概述 实例成员要素:也称为对象成员要素或非静态成员要素,隶属于类的某个实例对象,在对象创建后才存在,必须通过对象变量来访问。 静态成员要素:被特征修饰符static声明,属于整个类,能够通过类名来直接使用,而不需引用任何类的实例对象。 静态成员要素包括:静态属性、静态方法 8.1.1 静态属性 静态属性:在类加载时自动创建, 并被存放在类的内存中的公共存储单元(静态存储区)中,实质上是Java程序的全局变量,描述了该类所有对象的共同属性,当创建类的实例对象时,所有对象共享同一个静态属性,而不再产生副本。 使用方式: 类名. 属性名 对象名. 属性名 8.1.1 静态属性 静态属性与非静态属性的区别 8.1.1 静态属性 说明 静态属性在类第一次被加载到虚拟机时就分配了静态存储区,以后每次运行都不再分配空间,直到虚拟机停止。 因为方法体中声明的变量为局部变量,因此不能在方法体中声明静态变量,即局部变量不允许为静态的。 8.1.2 静态方法 静态方法:属于整个类,在类开始加载时即被调用执行。如main函数。 使用方式: 类名.方法名([参数列表]); 对象名.方法名([参数列表]); 用途 简化方法的使用,可以不实例化直接通过类名访问。 访问静态属性 8.1.2 静态方法 注意 静态方法只能访问该类的静态成员要素,不能访问该类的实例成员要素; 实例方法却可以访问该类的静态属性与静态方法。 静态方法不能以任何方式引用this与super关键字。 静态方法不能被子类所覆盖。 8.1.3 特殊静态方法main main函数定义为静态方法的必要性:因为main是Java的入口方法,在程序一开始运行时就要被调用。Java解释器直接通过类名调用main,而不是通过实例化对象来调用,这样不仅减少程序执行,也提高了效率。 main函数的格式: public static viod main(String[] args){} 8.1.4 变量初始化的顺序 举例:例8-5 注意:静态属性优于非静态属性的赋值。 8.1.5 程序块 程序块分为静态块和非静态块,静态属性的赋值集中在静态块中,非静态属性的值集中在非静态块中。静态块只执行一次,非静态块可执行多次。 格式:static{属性1=值;属性2=值;……} 8.2.1 继承(Inheritance)的含义 继承思想的来源:同类事物具有共同性,在同类事物中,每个事物又具有其特殊性。 一般类和特殊类 一般类,也称通用类或父类,是运用抽象的原则舍弃对象的特殊性,抽取其共性而得到适应于一组对象的类。 特殊类:也称具体类或子类,相对于一般类而言具有特殊性的类。 8.2.1 继承(Inheritance)的含义 在Java中,子类继承父类实质上就是子类具有父类的所有非私有特征(即包含父类中的所有非私有属性和方法),但同时具有自己的特征(即在父类的基础上增加了自己独有的属性和方法)。 使用继承的好处:很好地解决了软件复用,通过增强一致性来减少模块的接口和界面,大大增加程序的易维护性。 1、语法格式 [修饰符] class 子类类名 extends 父类类名 { …… //类体

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档