文档详情

JAVA编程基础_06面向对象高级特性.doc

发布:2020-02-25约8.98千字共81页下载文档
文本预览下载声明
. . . . . . . . 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语言包
显示全部
相似文档