- 1、本文档共112页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA编程基础-面向对象高级特性.doc
JAVA编程基础
—— 面向对象高级特性
3 Sept. 2008
? Neusoft Confidential
第六章 面向对象高级特性
目标:
介绍Java中类的继承,封装,
多态,方法的覆盖,抽象类、
接口及内部类等面向对象的高
级特性。通过本课的学习,学
员应该掌握如下知识:
1)类的继承、封装、多态
2)抽象类及接口
3)引用数据类型的转换
4)访问权限修饰符的使用
5)final关键字
教学方法:讲授ppt+
上机练习
本章要点
·
·
·
·
·
·
·
·
类的继承
继承的规则
子类的构造器
Java中的包和访问修饰符
方法的覆盖
引用数据类型的转换
向下转型
向上转型
多态
特征
动态绑定
抽象类和接口
定义
抽象方法
区别
Final关键字
内部类
Contents
1
2
3
4
5
类的继承
Java包的概念
访问权限修饰符
方法的覆盖
引用类型的转换
类的继承
·
类的继承
在Java中定义一个类时,让该类通过关键字extends继承一个已有
的类,这就是类的继承(泛化)。
被继承的类称为父类(超类,基类),新的类称为子类(派生
类)。
子类继承父类的所有属性和方法,同时也可以增加自己的属性和
方法。
使用
继承
继承的语法和规则
·
继承的语法
示例
Employee.java
Worker.java
[修饰符] class 子类名 extends 父类名
继承的语法和规则
·
继承的语法
? 练习 Officer.java
TestOfficer.java
用 java中类的继承机制,实现 Officer类,并设计一个测试程序
TestOfficer类,来访问Officer类
·
继承的好处
使编码更高效
易维护
代码的重用
继承的语法和规则
·
继承的规则
Java中只支持单继承,也就是说每个类只能有一个父类,不允许
有多重继承
一个父类可以有多个子类
子类继承父类所有的属性和方法
子类实例化的过程
·
·
·
子类实例化时先实例化其父类,然后实例化子类。
要先调用父类的构造器,父类构造器运行完毕,才调用子类的
构造器。
如果实例化类D,说出构造器执行的顺序。
A
B
D
示例 SubClassConstruct.java
C
E
super和this关键字
·
super()
– 作用:调用父类的构造器
– 只能出现在子类的构造器中,且必须是第一行
– super()中的参数,决定了调用父类哪个构造器
– 如果子类构造器中没有出现super,那么编译器会默认加上
super(),即调用父类的空构造器,如果父类没有空构造器,
编译器提示错误。
super和this关键字
·
·
this()
– 作用:调用本类的构造器
– 只能写在构造器的第一行
在同一个构造器中super()和this()不能同时出现
示例 Person.java、Student3.java、Student4.java
子类的构造器
·
子类的构造器 — 子类不能继承父类的构造器
在子类中创建构造器时,必须调用父类的构造器
子类可以在自己的构造器中使用super关键字来调用父类的构造器
super (参数1,参数2,…);
如果使用super关键字调用父类构造器,必须写在该子类构造器的
第一行
如调用的是父类中无参的构造器,则可以不写super( )
如果子类中调用了父类无参的构造器,而父类中没有无参构造器
则系统编译出错
super和this关键字
·
·
super.
– 指向父类的引用。
this.
– 指向本类的引用。
类的继承
给定以下代码:
下列描述哪些是正确的_____??
A. 编译失败
C. 在第7行抛出异常
B. 代码正常运行
D. 在第2行抛出异常
答案:A
Contents
1
2
3
4
5
类的继承
Java包的概念
访问权限修饰符
方法的覆盖
引用类型的转换
Java中的包
·
包的概念及应用
在Java中,包主要有以下用途 :
有助于避免命名冲突
包允许在更广的范围内保护类、数据和方法
包可以是类、接口和子包的集合
Java中的包
·
包的概念及应用
将类放入包中
package 包名 ;
注意:
package语句作为java源文件的第一条语句
每个源文件只能声明一个包
如果没有package语句,则默认为无名包
Java中常用的包
·
·
·
·
java.lang
– Java语言包,任何程序中,该包都被自动导入。
java.awt
– 图形用户界面包。
java.awt.e
文档评论(0)