第6章 继承与多态

合集下载

c#第6章 继承与多态性

c#第6章 继承与多态性

例如: 例如: class Humen { public string name; name; public string sex; sex; public string work ; } class Teacher:Humen Teacher: { public string speciality ; public string department; department; } Human是基类 Teacher是派生类 Human是基类,Teacher是派生类,它拥有基类 是基类, 是派生类, 的全部成员。 的全部成员。
派生类隐藏基类成员 :用new关键字。 new关键字 关键字。 隐藏基类的字段成员: 隐藏基类的字段成员: 派生类可以声明与基类有相同的名称和类型的字 派生类可以声明与基类有相同的名称和类型的字 段成员来隐藏基类的字段。 来隐藏基类的字段 段成员来隐藏基类的字段。这时通过派生类引用 或对象访问的是派生类的字段, 或对象访问的是派生类的字段,基类的相应成员 被屏蔽了。但是通过指向派生类对象的基类引用 被屏蔽了。但是通过指向派生类对象的基类引用 访问的则是基类的字段。 访问的则是基类的字段。 隐藏基类的方法成员: 隐藏基类的方法成员: 派生类可以声明与基类有相同的方法名称和形参 表的方法成员来隐藏基类的方法 基类的方法, 表的方法成员来隐藏基类的方法,与返回类型无 这时通过派生类引用或对象访问的是派生类 关。这时通过派生类引用或对象访问的是派生类 的方法成员,基类的相应方法成员被屏蔽了。 的方法成员,基类的相应方法成员被屏蔽了。但 是通过指向派生类对象的基类引用访问的则是基 指向派生类对象的基类引用访问的则是 是通过指向派生类对象的基类引用访问的则是基 类的成员。 类的成员。 派生类中可以通过 可以通过base关键字访问被隐藏的基 在派生类中可以通过base关键字访问被隐藏的基 类成员。 类成员。 详见例MaskBase。 详见例MaskBase。

继承跟多态的区别

继承跟多态的区别

继承跟多态的区别在计算机语言中有一种是JAVA的语言,里面有一些方法,继承,重载,重写。

下面是店铺为你整理的继承跟多态的区别,供大家阅览!重载,继承,重写和多态的区别:继承是子类获得父类的成员,重写是继承后重新实现父类的方法。

重载是在一个类里一系列参数不同名字相同的方法。

多态则是为了避免在父类里大量重载引起代码臃肿且难于维护。

网上看到一个有趣的说法是:继承是子类使用父类的方法,而多态则是父类使用子类的方法。

下面的例子包含了这四种实现:class Triangle extends Shape {public int getSides() { //重写return 3;}}class Rectangle extends Shape {public int getSides(int i) { //重载return i;}}public class Shape {public boolean isSharp(){return true;}public int getSides(){return 0 ;}public int getSides(Triangle tri){return 3 ;}public int getSides(Rectangle rec){return 4 ;}public static void main(String[] args) {Triangle tri = new Triangle(); //继承System.out.println("Triangle is a type of sharp? " + tri.isSharp());Shape shape = new Triangle(); //多态System.out.println("My shape has " + shape.getSides() + " sides.");}}注意Triangle类的方法是重写,而Rectangle类的方法是重载。

封装、继承和多态的概念

封装、继承和多态的概念

封装、继承和多态的概念
封装、继承和多态是面向对象编程中的三个重要概念,下面分别进行详细解释:
一、封装
封装是指将对象的属性和方法封装在一起,形成一个独立的单元,对外部隐藏对象的实现细节,只暴露必要的接口供外部使用。

封装可以有效地保护对象的数据和行为,避免外部的误操作和非法访问,提高了代码的安全性和可维护性。

在面向对象编程中,封装是实现信息隐藏和数据保护的重要手段。

二、继承
继承是指一个类可以从另一个类中继承属性和方法,从而可以重用已有的代码和功能。

继承是面向对象编程中实现代码复用的重要手段,可以减少代码的重复性,提高代码的可读性和可维护性。

继承可以分为单继承和多继承两种方式,单继承是指一个类只能从一个父类中继承,而多继承是指一个类可以从多个父类中继承属性和方法。

三、多态
多态是指同一个方法在不同的对象上可以有不同的行为,即同一个方法可以有多
种不同的实现方式。

多态是面向对象编程中的重要概念,可以提高代码的灵活性和可扩展性。

多态可以分为编译时多态和运行时多态两种方式,编译时多态是指方法的重载,即同一个类中可以有多个同名但参数不同的方法;而运行时多态是指方法的重写,即子类可以重写父类的方法,从而实现不同的行为。

通过多态,可以实现面向对象编程中的“开闭原则”,即对扩展开放,对修改关闭。

类的继承与多态性实验报告

类的继承与多态性实验报告

类的继承与多态性实验报告目录1.介绍2.什么是多态3.多态在Java中的技术基础4.示例5.多态的好处6.总结介绍之前的文章介绍过类的封装性和继承性,现在是时候聊聊面向对象编程的三大特性之一的最后一个类的多态性了。

多态的基础是继承(包括了接口的实现)和方法的覆盖。

什么是多态多态对应的英文单词是polymorphism,百度翻译给出的翻译是:n.多型现象,多态性; 多机组合形式;按字面意思就是多种状态、形态、姿态等等,潜台词就是某个东西具有多种状态、形态、姿态等等。

那是什么东西呢?在面向对象的编程语言里面(当然就包括Java了)就是某个方法或函数。

那方法的多种状态、形态、姿态有是个什么意思呢?这其实是指同一个方法具有多个方法体,就是方法的实现。

而方法的相同与否是由方法签名决定的。

所以,多态其实本质上是指同一个类的同一个方法却具有不同的行为特征。

状态、形态、姿态指的就是行为特征。

多态在Java中的技术基础然而,在Java中,同一个类里面是不可能存在两个签名相同而实现不同的方法的,否则的话会导致无法判断该执行哪个方法,因此在编译时就会报错。

所以,肯定是在两个类中才有可能存在两个签名相同而实现不同的方法,一个实现在这个类,另一个实现在另一个类。

而如果这两个类毫无瓜葛,那么肯定就与多态的本质(同一个类的同一个方法却具有不同的行为特征)自相矛盾了。

所以,这两个类肯定是有某种联系的。

我们再想想,什么概念是能够让两个不同的类却又能称为同一个类的?答案就是类的继承/扩展,就是现实中的“某东西是某类东西”的概念,就是“具体和抽象”的思想。

比如,男人是人,女人也是人,男人类和女人类就借助于人类建立了某种联系,而人类具有的某个行为在男人类和女人类中是有着不同体现的,比如人类的吃饭这个行为,男人类的体现是狼吞虎咽,女人类的体现是细嚼慢咽。

例子不是很恰当,但意思就是这么个意思。

所以说,Java里面多态的技术基础就是方法的覆盖,当然,在Java中覆盖不仅仅发生在类的继承/扩展上,还可能发生在接口的实现上。

《java面向对象程序设计继承和多态》教案

《java面向对象程序设计继承和多态》教案

《Java面向对象程序设计-继承和多态》教案第一章:引言1.1 课程简介本课程旨在帮助学生掌握Java面向对象程序设计中的继承和多态概念。

通过学习,学生将能够理解继承和多态的原理,并能够运用它们解决实际编程问题。

1.2 课程目标理解继承的概念和原理掌握如何使用继承来实现代码复用理解多态的概念和原理掌握如何使用多态来实现动态绑定第二章:继承2.1 继承的概念介绍继承的定义和作用解释为什么使用继承2.2 继承的语法介绍如何使用extends关键字实现继承解释继承中的构造函数和继承关系2.3 继承的实现演示如何使用继承来复用代码解释继承的层次结构和菱形继承第三章:多态3.1 多态的概念介绍多态的定义和作用解释多态的好处3.2 方法重写解释方法重写的概念和规则演示如何使用方法重写来实现多态3.3 方法重载解释方法重载的概念和规则演示如何使用方法重载来提高代码可读性第四章:继承和多态的案例分析4.1 案例一:动物和鸟类使用继承和多态来定义动物和鸟类的关系实现动物和鸟类的属性和方法4.2 案例二:形状和圆形使用继承和多态来定义形状和圆形的关系实现形状和圆形的属性和方法第五章:总结和练习5.1 课程总结回顾继承和多态的概念和原理强调继承和多态在面向对象程序设计中的重要性5.2 练习题提供一些练习题,以帮助学生巩固所学知识第六章:继承和多态的深入理解6.1 继承的类型解释接口继承和类继承的区别讨论继承的优点和缺点6.2 多态的应用探讨多态在日常编程中的应用场景分析多态如何提高程序的可扩展性和灵活性第七章:Java中的继承和多态实例7.1 继承实例:汽车和摩托车通过实例展示如何使用继承来创建汽车和摩托车类演示如何通过继承来扩展属性和方法7.2 多态实例:支付接口和具体的支付方式创建一个支付接口和多个具体的支付方式类演示如何使用多态来实现不同的支付方法第八章:继承和多态的陷阱与最佳实践8.1 继承的陷阱讨论继承可能带来的过度耦合问题解释如何避免继承的陷阱8.2 多态的陷阱分析多态可能导致的类型不匹配问题探讨如何安全地使用多态8.3 最佳实践提供使用继承和多态的最佳实践指南强调代码可读性和可维护性第九章:继承和多态在设计模式中的应用9.1 设计模式简介介绍设计模式的概念和重要性解释设计模式与继承和多态的关系9.2 继承和多态在设计模式中的应用案例通过案例分析展示继承和多态如何在设计模式中发挥作用讨论设计模式如何提高程序设计的质量和可复用性第十章:课程回顾与拓展学习10.1 课程回顾总结本课程的重点内容和关键概念强调继承和多态在实际编程中的应用10.2 拓展学习资源提供一些拓展学习的资源和建议鼓励学生继续深入学习面向对象程序设计的其他方面第十一章:继承和多态的实际应用案例11.1 案例分析:图形库的设计通过分析图形库的设计,展示继承和多态如何用于实现复杂的图形操作。

第六讲 继承

第六讲  继承

在单个类中,protected和private没有什么区别。但在 继承关系中,基类的private成员不但对应用程序隐藏,甚 至对派生类也隐藏。而基类的保护成员则只对应用程序隐 藏,而对派生类则毫不隐瞒。
一个私有的或保护的派生类不是子类,因 为非公共的派生类不能做基类能做的所有的事
多态性例


单继承派生类的构造例

若派生类没有声明构造函数,根据类的实现机制,派生类对 象创建时,将执行其默认的构造函数。该默认构造函数会首 先调用基类的默认构造函数, 派生类的构造总是由基类的初始化开始的。首先调用基类的 构造函数完成其基类部分的构造,派生类中只需对本类新增 成员进行初始化。类与类之间,你做你的,我做我的,以 接口作沟通。 派生类的构造函数需要给基类的构造函数传递参数(基类中 声明有默认形式的构造函数或未声明构造函数时除外)。 派生类的析构函数以构造函数相反的顺序被调用。
class A { public: void f( ); }; class B { public: void f( ); void g( ); }; class C: public A, piblic B { public: void g( ); void h( ); }; 如果声明:C c1; 则 c1.f( ); 具有二义性 而 c1.g( ); 无二义性(同名隐藏) 解决方法二:同名隐藏 在C 中声明一个同名成员函数f( ) ,f( )再根据需要调用 A::f( ) 或 B::f( )
虚拟继承


同一个基类被间接继承多次的时候,将在派生类 中产生多个基类的副本。为了解决同一基类被多 次继承产生的二义性,在C++语言中,引入了虚 拟继承机制。 虚拟继承和非虚拟继承的定义格式基本相同,区 别在于:在虚拟继承的派生表中增加一个关键字 virtual,表明基类和派生类之间是虚拟继承关系, 格式为: <继承方式> virtual <基类名>, 其中,继承方式和virtual的顺序不重要,可以互换。 虚拟继承中的基类被称为虚基类。

Java程序设计精编教程5-8章知识点

Java程序设计精编教程5-8章知识点

b) 如果变量名由多个单词组成,从第 2 个单词开始的每个单词的首字母要大写。
方法
方法的定义包括两部分:方法声明和方法体。一般格式为:
方法声明部分 {
方法体的内容
}
方法声明
方法声明包括返回值类型、方法名和参数。
double getArea() { //返回值类型为 double,无参数。

}
方法的返回值类型可以是 Java 中的任意数据类型。如果一个方法不返回数据,返回值类型必须是 void。
2. 有一个类 Singleton,为该类设计单例模式(该类只能有一个实例,且不能在类的外部 new 对象),只能通过该类 的静态方法 getInstance()获取该类的唯一对象。在主类 Homework2 中测试单例模式的有效性。
b) 在实例方法中,不仅可以调用实例方法,也可以调用类方法。 2) 类名调用类方法
a) 在类方法中,只能调用类方法、操作类变量。 b) 也可以通过对象调用类方法。 c) 如果一个方法不需要操作实例变量就可以实现某种功能,可以考虑将其声明为类方法。(例 5-8) 5.7 方法重载与多态 Java 中有两种多态:重载(overload)和重写(override)。 方法重载(overload):一个类中可以有多个名字相同的方法,但这些方法的参数必须不同,或者参数的个数不同, 或者参数的类型不同。方法的返回值类型与重载无关。
5.8 this 关键字 this 只能出现在实例方法和构造方法(也属于实例方法)中,表示调用该方法的当前对象。 一般情况下,方法中 this.实例变量的 this 可省略、类名.类变量的类名可省略,但当局部变量与成员变量同名时,
this 或类名不能省略。 5.9 包
包是 Java 语言管理类的一种机制,类似于操作系统中的目录,使用包名可以有效区分名字相同的类。 包语句

继承与多态的教案

继承与多态的教案

继承与多态的教案教案标题:继承与多态的教案教学目标:1. 理解继承和多态的概念;2. 能够使用继承创建一个类,并通过多态实现不同子类的特定功能;3. 能够解释继承和多态的优点和应用场景。

教学准备:1. 计算机编程语言教材和教具;2. 计算机编程软件;3. 示例代码和练习题。

教学过程:引入:1. 引导学生回顾之前学习的面向对象编程概念,如类、对象、封装和继承;2. 提问学生对继承和多态的理解,引发学生的思考。

讲解:1. 介绍继承的概念和作用,解释父类和子类之间的关系;2. 示例代码演示如何通过继承创建一个子类,并继承父类的属性和方法;3. 引导学生思考继承的优点和应用场景,如代码复用和扩展性。

练习:1. 分发练习题,要求学生根据给定的需求创建一个父类和两个子类,并实现特定功能;2. 学生在计算机编程软件上编写代码,运行并测试其结果;3. 学生互相交流并讨论各自的实现方法,分享经验和解决问题的思路。

讲解:1. 介绍多态的概念和作用,解释多态的实现方式;2. 示例代码演示如何使用多态实现不同子类的特定功能;3. 引导学生思考多态的优点和应用场景,如代码灵活性和可扩展性。

练习:1. 分发练习题,要求学生根据给定的需求创建一个父类和多个子类,并实现特定功能;2. 学生在计算机编程软件上编写代码,运行并测试其结果;3. 学生互相交流并讨论各自的实现方法,分享经验和解决问题的思路。

总结:1. 回顾继承和多态的概念和作用;2. 强调继承和多态的优点和应用场景;3. 鼓励学生继续深入学习面向对象编程的相关知识。

拓展活动:1. 鼓励学生在日常生活中观察和思考继承和多态的实际应用;2. 提供更多的编程练习和挑战,以提高学生对继承和多态的理解和应用能力。

评估方式:1. 观察学生在课堂上的参与和表现;2. 收集学生完成的练习题和代码,并进行评估;3. 针对学生的理解和应用能力,给予反馈和指导。

教学反思:1. 总结学生在课堂上的学习情况和反馈;2. 分析教学过程中的不足和改进之处;3. 调整教学策略和方法,以提高教学效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

将上转型对象转换为子类对象称为下转型对象。
6.3 对象的赋值兼容规则 当用一个父类对象表示子类对象后,父类对象: 可以访问子类继承自父类的域或被子类隐藏的域; 可以调用子类继承自父类的方法或被子类重写的方法; 不能访问子类相对于父类新增加的域或方法。 所以,通过父类访问的域或方法一定是继承自父类的域或方法、或者是 隐藏继承自父类的域、或者是重写继承自父类的方法。 使用赋值兼容规则主要是为了实现多态性。

6

继 承 与 多 态
Java程序设计
人民邮电出版社
CONTENTS
目录
6.1 子类及其对象 6.2 域的隐藏和方法的重写
6.3 对象的赋值兼容规则
6.4 final关键字 6.5 多态 6.6 abstract关键字 6.7 小结
6.1.1 子类定义 子类定义实际上就是定义类的过程,只不过是在父类的基础上定义。子 类定义形式:
【例6.4】某公司给雇员发工资。雇员中 有经理、技术人员和一般雇员,该公司 给雇员定的工资标准是:一般雇员工资 领固定工资,经理工资在一般雇员工资 基础上加本月津贴,技术人员的工资在 一般雇员工资基础上加技术津贴,技术
出与父类不同的行为。这种重新定
义的过程称方法的重写
(Override)。
津贴为工作小时数×单位津贴/小时。
abstract class 类名 { //…… }
抽象类不能生成对象实例。
6.6.2 abstract修饰方法 关键字abstract修饰的方法称为抽象方法。抽象方法定义的形式:
[访问限定词] abstract 数据类型 方法名([参数表列]); 抽象方法只有方法的头部,没有方法体。抽象方法一定不能用关键字
final class 类名 { //…… }
最终类不能派生子类。定义最终类的目的是不希望父类中的域被子类隐
藏、方法被子类重写,可以对类起到保护作用。典型的最终类就是String类。
6.4.2 final修饰方法
final修饰的方法称为最终方法。修饰的形式:
[访问限定词] [static] final 方法类型 方法名([参数]) { //…… }
class 子类名 extends 父类名 {//子类类体 //…… }
Java语言只支持单重继承。除了Object类之外每个类都有一个父类,它
是所有类的直接父类或间接父类。
如果在定义一个类时没有说明该继承自哪一个类,则该类的父类是Object。
6.1.2 子类的可访问性
01
OPTION
父类的私有成员可以被子类继承,但只能通过继承自父类的并且子类可以访 问的方法间接访问。 类中的公有成员可以被子类中的方法直接访问,在子类类体外可以通过子类 对象访问。
Example6_04.java
6.2.3 super关键字 super表示当前类的直接父类。 在有些情况下,还想访问被子类隐藏的域或被重写的方法,这种情况下 则可以通过关键字super实现相应的访问。
如果想明确地访问继承自父类中的域,可以通过下面形式访问:
super.域名
表示访问当前类直接父类中的域。如果想明确地调用继承自父类中的 方法,可以通过下面形式访问:
6.4 final关键字 6.5 多态 6.6 abstract关键字 6.7 小结
6.5.1 多态概念
同一类对象表现出的不同行为称为多态。
多态的实现一定得在有继承关系的对象中。每一个子类的对象的行 为都与其它子类对象或父类对象的行为不同,这种行为上的不同称为多 态性。 程序设计语言本身必须支持多态性,编程时才能够实现多态性。
02
OPTION
03
OPTION
父类与子类在同一个包中,则父类中的保护成员可以被子类中的方法直接访 问,在子类类体外可以通过子类对象访问。
父类与子类不在同一个包中,则父类中的保护成员可以被子类中的方法直接 访问,但在子类类体外不可以通过子类对象访问。
04
OPTION
6.1.2 子类的可访问性
01
OPTION
6.3 对象的赋值兼容规则
6.4 final关键字 6.5 多态 6.6 abstract关键字 6.7 小结
小结
Summary
通过继承,可以实现代码重用,提高编程效率,提高程序运行的稳定 性。继承是实现多态性的前提。 继承过程中,子类可以定义与父类同名的域,则在子类中隐藏了父类 的域;子类还可以将继承自父类的方法重写。在子类对象中,如果想访问父 类中被隐藏的域或调用父类中被重写的方法,可以用关键字super。 父类对象可以表示子类对象,称为类型兼容规则。 多态性指的是同一类对象具有的不同行为,具有指的是有共同父类的 子类对象的不同行为。 如果父类没有必要创建实例,则可以声明为抽象类。如果不希望一个 类有子类,则可以将该类声明为最终类。
父类与子类在同一个包中,则父类中的友好成员可以被子类中的方法直接访 问,在子类类体外可以通过子类对象访问。
02
OPTION
父类与子类不在同一个包中,则父类中的友好成员不可以被子类中的方法直 接访问,在子类类体外不可以通过子类对象访问,只能通过继承自父类的并 且子类可以访问的方法间接访问。
【例6.1】设计一个圆类,该类能够表示圆的位置和大小,能够计算圆的面
CONTENTS
目录
6.1 子类及其对象 6.2 域的隐藏和方法的重写
6.3 对象的赋值兼容规则
6.4 final关键字 6.5 多态 6.6 abstract关键字 6.7 小结
6.3 对象的赋值兼容规则 在有继承关系的类中,可以用父类对象表示子类的对象,称为赋值兼容 规则。例如,类B是类A的子类,则下面的赋值是正确的: A a=new B(); 当用父类对象表示子类对象时,父类对象称为子类对象的上转型对象。 当一个父类对象表示的是子类对象时,还可以将该父类对象强制转换成 子类对象。如: B b=(B)a;




Java程序设计
人民邮电出版社
更多样书申请和资源下载需求,请登录人邮教育社区 ()
海量图书方便查询 囊括各大品类,您想要的应 有尽有 免费申请样书 教师免费申请样书, 我们将安排快递迅速送达 下载配套资源 教学视频、PPT课件、教学 案例、习题答案、模拟试卷 等丰富资源免费下载 优惠购书
【例6.2】instanceof的用法。
Example6_02.java
CONTENTS
目录
6.1 子类及其对象 6.2 域的隐藏和方法的重写
6.3 对象的赋值兼容规则
6.4 final关键字 6.5 多态 6.6 abstract关键字 6.7 小结
6.2.1 域的隐藏
子类根据需要可以将继承自父类的方法重新定义以适合子类对象的需
CONTENTS
目录
6.1 子类及其对象 6.2 域的隐藏和方法的重写
6.3 对象的赋值兼容规则
6.4 final关键字 6.5 多态 6.6 abstract关键字 6.7 小结
6.4.1 final修饰类 关键字final可以修饰类,可以修饰方法,还可以修饰域。 final修饰的类称为最终类。修饰的形式:
6.2.3 super关键字
如果父类和子类中都定义了实例初始化器,则构造子类对象时,调用顺
序为“父类的实例初始化器→父类的构造方法→子类的实例初始化器→子类
的构造方法”。
【例6.5】平面上有若干条线段,已知每条线段两个端点的坐标。设计线段
类并创建线段类的对象表示线段。要求用继承的方法实现。 Example6_05.java
积和周长,能够对圆进行平移。定义圆类的对象并进行相应的操作,输出操
作后的结果。Example6_01.java
6.1.3 instanceof运算符
instanceof运算符用于判断一个对象是否是某一个类的实例对象,或者 是否是某一个类的子类的实例对象。 instanceof的方法形式:
对象名 instanceof 类名
【例6.6】有多种交通工具,利用多态性表现出每种交通工具的正
确运行状态。 Example6_06.java
CONTENTS
目录
6.1 子类及其对象 6.2 域的隐藏和方法的重写
6.3 对象的赋值兼容规则
6.4 final关键字 6.5 多态 6.6 abstract关键字 6.7 小结
6.6.1 abstract修饰类 关键字abstract可以修饰类,也可以修饰类中的方法。 关键字abstract修饰的类称为抽象类。抽象类定义的形式:
final修饰。 抽象类中可以有非抽象(实例)方法,也可以有抽象方法。如果一个 类中有抽象方法,该类必须定义成抽象类。
【例6.7】有若干个圆和矩形,已知每个圆的半径和矩形的长、宽,计算这些圆 和矩形的面积和周长。
Example6_07.java
CONTENTS
目录
6.1 子类及其对象 6.2 域的隐藏和方法的重写
要,这种情况称为方法的重写。
子类中定义的域的名字与继承自父类的域的名字相同,则在子类中隐
ቤተ መጻሕፍቲ ባይዱ
藏了继承自父类的域,子类中的方法不能访问父类中的被隐藏的域。
【例6.3】域隐藏举例。
Example6_03.java
6.2.2 方法的重写
当子类继承父类的方法后,子 类根据自身的需要可以对继承的方 法重新定义,以便使子类对象表现
super.方法名([实际参数])
super还可以用于调用直接父类的构造方法:
super([实际参数]);
6.2.3 super关键字 调用父类的构造方法有如下的规则: 在构造子类对象时,父类的构造方法一定会被调用; 如果子类的构造方法使用了super调用父类的构造方法,则按给定的参数 调用父类中相应的构造方法; 如果在子类的构造方法中没有使用super调用父类的构造方法,则父类中 的没有参数的构造方法会被自动调用。 如果子类没有使用super调用父类构造方法并且父类中也没有定义没有参 数的构造方法,则编译不能通过。
相关文档
最新文档