`
包涵
  • 浏览: 38009 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

构造函数

 
阅读更多
原则:

1.构造方法不能声明返回类型,不能被static、final、synchronized、abstract、native修饰。



2.当某个类中没有自定义的构造方法时,编译器会自动为你产生一个缺省的构造方法,这是一个不带参数且没有任何代码的构造方法;但是一旦你为你的类定义了一个构造方法,不管是否带参数,那么编译器将不会再为你产生缺省的构造方法。



3.父类的构造方法不能被子类继承。子类不能直接通过方法名调用父类的一个构造方法,而是要通过super关键字调用父类的一个构造方法,super语句必须位于子类构造方法的第一行。



4.当你试图调用某个类的某一构造方法(暂定名为a方法)来产生该类的一个实例时,将首先需要调用其父类的构造方法,此时有两种情况:(1)a方法中显示地用super关键字调用了父类的某一构造方法(是否带参都行)(注意此时super句必需出现在a方法的第一行);(2)a方法中没有显示地用super关键字调用了父类的某一构造方法,此时编译器在编译子类时会a方法中的第一行加上super();语句。



5.当一个类有几个构造方法时如果想在一个构造方法(暂定名为a)中调用另一个构造方法(暂定名为b),需要使用this关键字而不是用方法名直接调用且this句必需放在第一行;在这种情况下,如果通过this关键字调用的构造方法b中显示地调用了父类的某一构造方法时,编译器不会再在a方法中添加super();来调用父类的缺省构造方法。
分享到:
评论

相关推荐

    构造函数和复制构造函数

    构造函数和复制构造函数的详细介绍 构造函数是C++中的一种特殊函数,它们的主要作用是初始化对象的状态,并将对象的成员变量初始化为合适的值。构造函数的名称与类名相同,没有返回值(包括void),且只能被调用一...

    详解C++中构造函数,拷贝构造函数和赋值函数的区别和实现

    C++中一般创建对象,拷贝或赋值的方式有构造函数,拷贝构造函数,赋值函数这三种方法。下面就详细比较下三者之间的区别以及它们的具体实现 1.构造函数 构造函数是一种特殊的类成员函数,是当创建一个类的对象时,它...

    没有可用的复制构造函数或复制构造函数声明

    在C++编程中,"没有可用的复制构造函数或复制构造函数声明"是一个常见的错误,通常出现在尝试复制一个对象,而该对象的类没有定义复制构造函数时。在这个特定的情境中,问题出在一个名为`CArray, int>`的自定义数组...

    包含构造函数和析构函数的C++程序

    ### 构造函数和析构函数在C++中的应用 #### 概述 构造函数与析构函数是C++编程语言中非常重要的概念,它们在类的实例化和销毁过程中扮演着关键角色。通过理解这些函数的工作原理及其作用,我们可以更好地控制对象...

    构造函数不能声明为虚函数的原因及分析

    问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。 2. 从使用角度,虚函数主要用于在信息不全的情况下,能使...

    构造函数与析构函数

    每个类都具有构造函数和析构函数。其中,构造函数在定义对象时被调用,析构函数在对象释放时被调用。如果用户没有提供构造函数和析构函数,系统将提供默认的构造函数和析构函数。 1.构造函数 构造函数是一个与类同名...

    C++\测试 对象成员构造函数、基类构造函数、派生类本身的构造函数 的先后顺序.rar

    在C++编程中,对象的构造过程涉及到多个层面,包括对象成员构造函数、基类构造函数以及派生类本身的构造函数。理解它们的执行顺序对于编写健壮的代码至关重要。以下将详细阐述这三个构造函数的调用时机和逻辑。 1. ...

    构造函数与静态块的执行顺序

    在探讨继承中子类与父类构造函数及静态块的执行顺序时,我们首先需要理解构造函数和静态块的基本概念及其在Java中的作用。构造函数主要用于初始化对象的状态,而静态块则是在类加载到内存中时执行的一段代码,通常...

    构造函数和析构函数PPT课件.pptx

    构造函数和析构函数PPT课件.pptx 构造函数是C++编程语言中的一种特殊的成员函数,它是在创建对象时由系统自动执行的函数。构造函数的主要功能是将对象初始化,并执行一些必要的操作,以便对象能够正确地工作。构造...

    构建一个类Point,它提供两个公有的构造函数,一个没有参数的Point构造函数和一个有两个double参数的构造函数。

    构建一个类Point,它提供两个公有的构造函数,一个没有参数的Point构造函数和一个有两个double参数的构造函数。另外在该类中提供一个静态方法计算两个点的直线距离,传入参数为两个Point类实例。然后设计一个测试类...

    在派生类的构造函数中调用基类的构造函数

    这就涉及到了在派生类的构造函数中调用基类构造函数的知识点。 首先,每个类都有一个构造函数,它在对象创建时自动执行,用于初始化类的数据成员。当派生类创建时,它的构造函数会先于派生类的任何其他操作调用基类...

    C++简单类(构造函数,析构函数以及拷贝构造函数)的实现

    本文将详细解析一个简单的C++类`cPerson`的实现,重点关注其构造函数、析构函数以及拷贝构造函数。 ### 构造函数 构造函数是在创建类的对象时自动调用的一种特殊成员函数,主要用于初始化对象的数据成员。`cPerson...

    Python 含参构造函数实例详解

    ### Python含参构造函数实例详解 #### 概述 在Python编程语言中,类的实例化过程往往伴随着初始化操作,这一过程通常通过构造函数来实现。构造函数是一种特殊的方法,用于初始化新创建的对象。在Python中,构造...

    继承类的构造函数

    继承类的构造函数 继承类的构造函数是 C++ 编程语言中的一种特殊的函数,它们用于初始化继承类的数据成员。基类的构造函数是不能继承的,在声明派生类时,派生类并没有把基类的构造函数继承过来,因此,对继承过来...

    构造函数的继承问题 笔记

    ### 构造函数的继承问题 #### 背景与概念理解 在面向对象编程语言如Java中,构造函数(Constructor)是一种特殊的方法,用于初始化新创建的对象。它与类同名,没有返回类型,并在创建对象时自动调用。 在Java中,...

    构造函数实例(源码)

    在本实例中,我们将深入探讨四种主要类型的构造函数:默认构造函数、初始化构造函数、复制构造函数和转换构造函数。 首先,我们来讨论默认构造函数。默认构造函数是没有任何参数的构造函数,它通常用来创建一个不带...

    c#构造函数的调用过程

    ### C#构造函数的调用过程 在C#编程语言中,构造函数是一种特殊类型的方法,主要用于初始化对象的状态。构造函数的名字与类名相同,并且没有返回类型。当创建一个新对象时,构造函数会自动被调用。本文将通过一个...

    重写重载构造函数

    重写重载构造函数 重写是子类的方法覆盖父类的方法,要求方法名和参数都相同。重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同。 构造函数是在创建给定类型的对象...

    构造函数与默认构造函数

    构造函数与默认构造函数的声明、定义、应用、比较

    析构或构造函数声明为保护或私有成员

    析构或构造函数声明为保护或私有成员 标题“析构或构造函数声明为保护或私有成员”所对应的知识点主要是关于C++语言中构造函数和析构函数的访问控制。 在C++语言中,构造函数和析构函数可以被声明为私有或保护成员...

Global site tag (gtag.js) - Google Analytics