Java程序设计基础-国家级十二五规划教材-大连理工大学出版社 Java程序设计基础-国家级十二五规划教材-大连理工大学出版社 第8章 实现继承 复习提问 1.包声明语句及包引入语句分别是什么?两者的功能有什么不同? 2.简要说明java.lang的特殊性。 (可以使用JDK文档) 本章提要 主要知识点: 继承的概念; 继承的实现; 用this和super关键字实现继承; 抽象类的实现 学习目标:掌握继承和抽象类的定义和实现方法 。 8.1 定义继承 8.1.1 继承的概念 继承一般是指晚辈从父辈那里继承财产,也可以说是子女拥有父母所给予他们的东西。在面向对象程序设计中,继承的含义与此类似,所不同的是,这里继承的实体是类而非人。也就是说继承是子类拥有父类的成员。 通过继承可以实现代码的复用,被继承的类称为父类或超类(superclass),由继承而得到的类称为子类(subclass)。一个父类可以拥有多个子类,但一个类只能有一个直接父类,这是因为JAVA语言中不支多重继承。 Java语言中有一个名为java.lang.Object的特殊类,所有的类都是直接或间接地继承该类而得到的。 8.1 定义继承 8.1.2 定义继承 类的继承是通过extends关键字来实现的,在定义类时若使用extends关键字指出新定义类的父类,就是在两个类之间建立了继承关系。新定义的类称为子类,它可以从父类那里继承所有非private的成员作为自己的成员。 子类的创建的语法格式为: class subclass-name extends superclass-name { //类体 } 8.2子类对父类的访问 8.2.1调用父类中特定的构造方法 在没有明确地指定构造方法时,子类会先调用父类中没有参数的构造方法,以便进行初始化的操作。在子类的构造方法中可以通过super()来调用父类特定的构造方法。 例8-1:以Person作为父类,创建学生子类Student,并在子类中调用父类里某指定的构造方法。 8.2子类对父类的访问 8.2.2在子类中访问父类的成员 如果子类的成员是直接父类继承过来的,可以通过以下形式访问: (1)访问当前对象的数据成员:this.数据成员 (2)访问当前对象的成员方法:this.成员方法(参数) 用关键字 super 来指明父类的数据成员和方法: (1)访问直接父类隐藏的数据成员: super.数据成员 (2)调用直接父类中被覆盖的成员方法:super.成员方法(参数) 例8-2:以Person作为父类,创建学生子类Student,并在子类中调用父类成员 8.3 定义抽象类 8.3.1 什么叫抽象类 在面向对象领域,抽象类主要用来进行类型隐藏。可以构造出一个固定的一组行为的抽象描述,但是这组行为却能够有任意个可能的具体实现方式,这个抽象描述就是抽象类,而这一组任意个可能的具体实现则表现为所有可能的派生类。 8.3 定义抽象类 8.3.2 定义抽象类 抽象类是以修饰符abstract修饰的类,定义抽象类的语法格式如下: abstract class 类名{ 声名成员变量; 返回值的数据类型 方法名(参数表) //一般方法 { …… } abstract 返回值的数据类型 方法名(参数表); //抽象方法 } 例8-3:定义一个形状抽象类Shape,以该形状抽象类为父类派生出圆形子类Cricle和矩形子类Pectangle Java程序设计基础-国家级十二五规划教材-大连理工大学出版社 Java程序设计基础-国家级十二五规划教材-大连理工大学出版社
java 继承 ppt_Java程序设计基础第8章 实现继承.ppt
最新推荐文章于 2021-02-25 20:15:12 发布