Java2教程ppt第七章

上传人:沈*** 文档编号:243865648 上传时间:2024-10-01 格式:PPT 页数:23 大小:254KB
返回 下载 相关 举报
Java2教程ppt第七章_第1页
第1页 / 共23页
Java2教程ppt第七章_第2页
第2页 / 共23页
Java2教程ppt第七章_第3页
第3页 / 共23页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Java 2,实用教程,Java 2: A Beginners Guide,甘朝华,第七章 继承, 理解继承的基础知识, 调用超类构造函数,使用,super,访问超类成员, 创建多级类层次结构, 了解何时调用构造函数, 理解子类对象的超类引用, 重写方法,使用重写方法实现动态方法分配,使用抽象类,使用,final,了解,Object,类,继承是面向对象程序设计的三个基本原则之一,它允许创建类层次结构。,Java,语言中,被继承的类称为超类,继承类称为子类。,7.1 继承的基础知识,Java,通过允许在一个类的声明中加入另一个类来实现继承,这需要使用关键字,extends,。,class,TwoDShape,double width;,double height;,void,showDim,(),/,7.1 继承的基础知识,class Triangle extends,TwoDShape,String style;,double area( ),return width * height / 2;,void,showStyle,(),/,7.1 继承的基础知识,成员访问与继承:,private,声明的成员:继承不会超越,private,的访问限制。,protected,声明,7.2 构造函数和继承,在层次结构中,超类和子类都可以有自己的构造函数。,超类构造函数 - 子类构造函数,使用,super,调用超类构造函数:,super( parameter-list );,/,必须是在子类中第一个执行语句,。,?执行的是超类的哪一个构造函数?,7.3 使用,super,访问超类成员,super,的第二种形式的工作方式与,this,相似,只不过它饮用的是子类的超类。,super.member,member,是,方法或实例变量,当子类的成员名隐藏了超类的成员名时使用。,练习7-1 扩展,Vehicle,类,7.4 创建多级层次结构,可以创建任意多层继承组成的层次结构。,TwoDShape,Triangle,ColorTriangle,7.5 何时调用构造函数,按照继承的顺序:超类,子类,7.6 超类引用和子类对象,Java,是一种类型严格的语言。除了标准转换和应用于简单类型的自动转换外,类型兼容是被严格执行的。,class X,/,class Y,/,X x = new X();,Y y = new Y();,X x2 = x;/,合法,x2 = y;/,非法,7.6 超类引用和子类对象,class X,/,class Y extends X,/,X x = new X();,Y y = new Y();,X x2 = x;/,合法,x2 = y;/,合法,7.6 超类引用和子类对象,超类指针的访问权限:,它能访问子类的成员吗?,7.7 方法重写,在,类,层次结构中,当子类中的方法与其超类中的方法同名且类型一致(函数签名相同)时,那么就称子类中的方法重写(,override),了超类中的方法。,在一个子类中调用被重写方法时,它总是引用子类中定义的方法,而超类中定义的方法将被隐藏。,7.8 重写的方法支持多态性,方法重写构成了,Java,最强大的概念之一:,动态方法分配,(,dynamic method dispatch)。,动态方法分配是一种机制,通过该机制对一个被重写方法的调用会在,运行期,解决,而不是在,编译期,解决。,演示 多态运行期调用,7.8 重写的方法支持多态性,1、为何使用重写的方法,使得,Java,支持运行时多态性。,是面向对象程序设计的特性之一。,2、在,TwoDShape,中应用方法重写,讲解 例题,7.9 使用抽象类,抽象类只定义为所有子类共享的一般形式,至于细节则交给每一个子类去填充实现。,接口(,Interface),抽象方法(,abstract method),通过,abstract,类型修饰符来创建,abstract type name( parameter-list );,abstract,不能用于,static,方法或构造函数。,包含一个或多个抽象方法的类必须通过在其,class,声明前添加,abstract,修饰符将其声明为抽象类。,7.10 使用,final,用于阻止方法重写和继承。,7.10 使用,final,1、使用,final,防止重写,class A ,final,void,meth,( ) ,/,class B extends A ,void,meth,( ) /,Error,/,7.10 使用,final,2、使用,final,防止继承,final class A ,/,class B extends A /,Error,/,7.10 使用,final,3、数据成员使用,final,值在程序的生命期中不能改变。,class,ErrorMsg,final,int,OUTERR = 0;,final,int,INERR = 1;,final,int,DISKERR = 2;,final,int,INDEXERR = 3;,/,注意:与静态变量的区别(,Page 203),7.11,Object,类,所有类的一个隐式超类。,Object,类的方法:,Page 259,表7-1,思考与练习,2、5、9,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!