收藏 分销(赏)

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

上传人:xrp****65 文档编号:13335938 上传时间:2026-03-03 格式:PPT 页数:28 大小:203.50KB 下载积分:10 金币
下载 相关 举报
第8章 面向对象高级特性1.ppt_第1页
第1页 / 共28页
第8章 面向对象高级特性1.ppt_第2页
第2页 / 共28页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,教学目的及要求,理解:继承的含义。,掌握:,静态成员要素的使用方法;,类间继承的应用;,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,例,8-2,8.1.1,静态属性,静态属性:在类加载时自动创建,并被存放在类的内存中的公共存储单元(静态存储区)中,实质上是,Java,程序的全局变量,描述了该类所有对象的共同属性,当创建类的实例对象时,所有对象共享同一个静态属性,而不再产生副本。,使用方式:,类名,.,属性名,对象名,.,属性名,8.1.1,静态属性,静态属性与非静态属性的区别,序号,静态属性,非静态属性,1,多个对象共享同一个属性,每个对象独享一个属性,2,该属性隶属于类,该属性隶属于每个实例,3,类变量,实例变量,4,对象,.,属性 类,.,属性,对象,.,属性,8.1.1,静态属性,说明,静态属性在类第一次被加载到虚拟机时就分配了静态存储区,以后每次运行都不再分配空间,直到虚拟机停止。,因为方法体中声明的变量为局部变量,因此不能在方法体中声明静态变量,即局部变量不允许为静态的。,8.1.2,静态方法,静态方法:属于整个类,在类开始加载时即被调用执行。如,main,函数。,使用方式:,类名,.,方法名,(,参数列表,);,对象名,.,方法名,(,参数列表,);,用途,简化方法的使用,可以不实例化直接通过类名访问。,访问静态属性,8.1.2,静态方法,注意,静态方法只能访问该类的静态成员要素,不能访问该类的实例成员要素;实例方法却可以访问该类的静态属性与静态方法。,静态方法不能以任何方式引用,this,与,super,关键字。,静态方法不能被子类所覆盖。,例,8-3,例,8-4,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-6,继承思想的来源:同类事物具有共同性,在同类事物中,每个事物又具有其特殊性。,一般类和特殊类,一般类,也称通用类或父类,是运用抽象的原则舍弃对象的特殊性,抽取其共性而得到适应于一组对象的类。,特殊类:也称具体类或子类,相对于一般类而言具有特殊性的类。,8.2.1,继承(,Inheritance,)的含义,8.2.1,继承(,Inheritance,)的含义,在,Java,中,子类继承父类实质上就是子类具有父类的所有非私有特征(即包含父类中的所有非私有属性和方法),但同时具有自己的特征(即在父类的基础上增加了自己独有的属性和方法)。,使用继承的好处:很好地解决了软件复用,通过增强一致性来减少模块的接口和界面,大大增加程序的易维护性。,1,、语法格式,修饰符,class extends,/,类体定义,关键字,extends,指定声明的子类需要继承父类的某些属性和方法。如果定义中没有给出,extends,,则声明的类自动继承,java.lang.Object,类。,2,、规则,子类继承所有父类的非私有成员(,private,)作为自己的成员,同时也可以在父类的基础上增加新的属性或方法;,继承关系可以传递;,Java,只支持类的单一继承。即一个基类可以派生多个子类,但一个子类只能有一个直接父类。,子类可以直接访问父类中的非私有成员,也可以通过基类的公有方法来间接访问父类的私有成员。,继承不能改变基类属性与方法的访问权限,即父类的成员为,public,则子类继承该成员后,成员仍为,public,。,例,8-8,、例,8-9,8.2.3,子类实例化的过程,子类能够继承基类的非私有成员要素,而构造方法为公共类型,因此子类能够继承基类的无参构造方法。,构造方法的执行遵循“自顶向下”的原则,即子类在实例化时总是先调用父类的无参构造函数,执行完父类的构造函数后再执行子类的构造函数。,例,8-10,例,8-11,1,、,super,关键字,super,的作用:实现对直接父类成员要素的访问,代表对当前对象直接父类对象的引用。,super,的使用格式:,访问直接父类中的成员要素:,super.,属性名,;super.,方法名,(,参数列表,);,调用直接父类的构造方法:,super(,参数列表,);,1,、,super,关键字,注意,“super(,参数列表,);”,方法是在子类中调用父类构造函数的唯一方法,试图使用“父类名,(,参数列表,);”,的形式来调用父类的构造函数是非法的。,super(,参数列表,),语句必须在子类构造方法中被调用,且必须为子类构造方法的第一条语句,其前面不能有其他任何语句。,2,、,this,关键字,this,的作用:实现对当前类对象成员要素的访问,代表对当前类对象的引用。,this,的使用格式,访问直接父类中的成员要素:,this.,属性名,;this.,方法名,(,参数列表,);,调用本类的其他构造方法:,this(,参数列表,);,注意:由于,this,和,super,在调用构造函数时都要求在第一句,则二者不能在同一个构造函数中出现。,1,、引入,例,8-14,2,、规则,发生在父类和子类的同名方法间;,两个方法的参数类型、个数、顺序以及方法的返回值类型必须完全相同;,子类方法的权限必须不小于父类方法的权限;,子类方法只能抛出父类方法声明抛出的异常或异常子类;,只有非私有、非静态的方法才能被覆盖。,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服