java程序设计教学做一体化教程_第5章_继承与接口

java程序设计教学做一体化教程_第5章_继承与接口

ID:5423468

大小:786.00 KB

页数:53页

时间:2017-11-12

java程序设计教学做一体化教程_第5章_继承与接口_第1页
java程序设计教学做一体化教程_第5章_继承与接口_第2页
java程序设计教学做一体化教程_第5章_继承与接口_第3页
java程序设计教学做一体化教程_第5章_继承与接口_第4页
java程序设计教学做一体化教程_第5章_继承与接口_第5页
资源描述:

《java程序设计教学做一体化教程_第5章_继承与接口》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、注意:开始用功了!第页配合例子源代码一起使用Powerpoint制作:耿祥义张跃平继承与接口《Java程序设计教学做一体化教程》第5章主要内容第页5.1子类5.1.1核心知识1.子类的定义在类的声明中,通过使用关键字extends来定义一个类的子类,格式如下:class子类名extends父类名{…}例如:classStudentextendsPeople{…}把Student类定义为People类的子类、People类是Student类的父类(超类)。2.子类的继承性如果子类与父类在同一个包中,那么

2、,子类自然地继承了父类中不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private的方法作为自己的方法,继承的成员变量或方法的访问权限保持不变。当子类与父类不在同一个包中时,子类只继承父类中的protected和public访问权限的成员变量作为子类的成员变量;同样,子类只继承父类中的protected和public访问权限的方法作为子类的方法。第页5.1.2能力目标能定义子类,并知道子类的那些成员变量或方法是从父类继承下来的。第页5.1.3任务驱动将下列Applica

3、tion.5_1java中的【代码】替换为程序代码。People.javaStudent.javaUniverStudent.javaApplication5_1.java程序运行效果如图5.1。第页任务小结(1)继承是一种由已有的类创建新类的机制。可以先定义一个共有属性的一般类,根据该一般类再定义具有特殊属性的子类,子类继承一般类的属性和行为,并根据需要增加它自己的新的属性和行为,子类可以让程序不必一切“从头做起”。(2)instanceof运算符是Java独有的双目运算符,其左面的操作元是对象,右

4、面的操作元是类,当左面的操作元是右面的类或其子类所创建的对象时,instanceof运算的结果是true,否则是false。(3)如果一个类是另一个类的子类,那么UML通过使用一个实线连接两个类的UML图来表示二者之间的继承关系,实线的起始端是子类的UML图,终点端是父类的UML图,但终点端使用一个空心的三角形表示实线的结束,如图5.2。第页5.1.4实践环节Application5_2.java第页5.2成员变量的隐藏和方法重写5.2.1核心知识1.隐藏成员变量如果子类声明的成员的变量的名字和从父类

5、继承下来的成员变量的名字相同(声明的类型可以不同),在这种情况下,子类就会隐藏掉所继承的成员变量。子类一旦隐藏了继承的成员变量,那么子类对象以及子类自己定义的方法操作与父类同名的成员变量时,就是操作子类重新声明的这个成员变量。2.方法重写(Override)如果子类可以继承父类的某个方法,那么子类就有权利重写这个方法。第页5.2.2能力目标子类通过重写方法,改变继承的行为。第页5.2.3任务驱动将下列University.java和ImportantUniversity.java中的【代码】替换为程序

6、代码。Application5_3.java程序运行效果如图5.3。第页任务小结重写方法既可以操作继承的成员变量、调用继承的方法,也可以操作子类新声明的成员变量、调用新定义的其他方法,但无法操作被子类隐藏的成员变量和方法。需要特别注意的是,子类在重写父类的方法时,不可以降低方法的访问权限(访问权限从高到低的排列顺序是:public、protected、友好的、private.第页5.2.4实践环节Application5_4.java第页5.3super关键字5.3.1核心知识_11.用super操作

7、被隐藏的成员变量和方法子类一旦隐藏了继承的成员变量,那么子类创建的对象就不再拥有该变量,该变量将归关键字super所拥有,同样子类一旦隐藏了继承的方法,那么子类创建的对象就不能调用被隐藏的方法,该方法的调用由关键字super负责。2.使用super调用父类的构造方法当用子类的构造方法创建一个子类的对象时,子类的构造方法总是先调用父类的某个构造方法,也就是说,如果子类的构造方法没有明显地指明使用父类的哪个构造方法,子类就调用父类的不带参数的构造方法。子类在其构造方法中需使用super来调用父类的构造方法

8、,而且super必须是子类构造方法中的头一条语句,即如果在子类的构造方法中,没有明显地写出super关键字来调用父类的某个构造方法,那么默认地有:super();第页5.3.1核心知识_2classStudent{intnumber;Student(){}Student(intnumber){this.number=number;}}classUniverStudentextendsStudent{booleanisMerried;UniverStude

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。