构造函数与默认构造函数

构造函数,是一种特殊的方法。 主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。 特别的一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们即构造函数的重载。

构造函数跟一般的实例方法十分相似;但是与其它方法不同,构造器没有返回类型,不会被继承,且可以有范围修饰符。构造器的函数名称必须和它所属的类的名称相同。 它承担着初始化对象数据成员的任务。

如果在编写一个可实例化的类时没有专门编写构造函数,多数编程语言会自动生成缺省构造器(默认构造函数)。默认构造函数一般会把成员变量的值初始化为默认值,如int -> 0,Integet -> null。

Test.java

// 默认无参构造函数

public Test(){

}

// 有参构造函数

public String a;

public Test(String a,String b .....){

this.a = a;

this.b = b;

.......

}

原文地址:https://www.cnblogs.com/lujiahua/p/11408070.html

时间: 2024-10-13 23:39:42

构造函数与默认构造函数的相关文章

【C/C++】构造函数、默认构造函数、成员初始化列表

常见问题 Q1. 下列关于构造函数的描述中,错误的是( ) A. 构造函数可以设置默认的参数 B. 构造函数在定义类对象时自动执行 C. 构造函数可以是内联函数 D. 构造函数不可以重载 Q2. 下列代码中a.b的各个成员变量值是多少? 1 class Student 2 { 3 public: 4 Student() {} 5 void show(); 6 private: 7 string name; 8 int number; 9 int score; 10 }; 11 Student a

C++构造函数语意学——默认构造函数

概述 在 class 中,若程序员没有为该 class object 定义 default constructors,则编译器会根据需要产生一个 implicit default constructor,该 implicit default constructor 被认为是 trivial(无用的).那编译器怎样才能产生一个 nontrivial implicit default constructor?以下四个方面会产生nontrivial implicit default construct

C++默认构造函数的问题

C++ defaul construct :缺省构造函数(默认构造函数) 定义:第一种   构造函数没有参数,即是 A()形式的 第二种   构造函数的全部参数由缺省值提供,A(int a=0,int b=0) 编译器添加的默认构造函数的条件:   如果创建一个类你没有写任何构造函数,则系统会自动生成默认的无参构造函数,函数为空,什么都不做(这只是一种情况而言,此构造函数是trival 派生类和基类的关系: 我们通常说的派生类和基类,我们调用派生类的自定义的构造函数的时候,派生类会自动调用基类中

C++ 合成默认构造函数的真相

对于C++默认构造函数,我曾经有两点误解: 类如果没有定义任何的构造函数,那么编译器(一定会!)将为类定义一个合成的默认构造函数. 合成默认构造函数会初始化类中所有的数据成员. 第一个误解来自于我学习C++的第一本书 <C++ Primer>,在书中392页:“只有当一个类没有定义构造函数时,编译器才会自动生成一个默认构造函数”. 实际上这句话也没有说错,它说明了默认构造函数定义的必要非充分条件,然而却给当时初学C++的我造成了一定的误解. 第二个误解依旧来自于Primer中的一句话:“合成的

C++基础知识—关于默认构造函数的一切

C++条款-关于默认构造函数的一切 默认构造函数(defaultconstructor): 默认构造函数是在未提供显示初始值时,用来创建对象的构造函数.如果没有提供任何构造函数,则C++将自动提供默认构造函数,默认构造函数没有参数,因为声明中不包含值.同时,当且仅当没有定义构造函数时,编译器才会提供默认构造函数.为类定义了构造函数后,程序员就必须为它提供默认构造函数,如果提供了非默认构造函数,但没有提供默认构造函数,则在初始化对象时调用默认构造函数是会出错的: Stack   ww;// 错误

Swift 2.0学习笔记(Day 37)——默认构造函数

Swift 2.0学习笔记(Day 37)--默认构造函数原创文章,欢迎转载.转载请注明:关东升的博客 结构体和类的实例在构造过程中会调用一种特殊的init方法,称为构造函数.构造函数没有返回值,可以重载.在多个构造函数重载的情况下,运行环境可以根据它的外部参数名或参数列表调用合适的构造函数.默认构造函数结构体和类在构造过程中会调用一个构造函数,即便是没有编写任何构造函数,编译器也会提供一个默认的构造函数.下面看示例代码: class Rectangle { var width: Double

Swift—默认构造函数-备

结构体和类的实例在构造过程中会调用一种特殊的init方法,称为构造函数.构造函数没有返回值,可以重载.在多个构造函数重载的情况下,运行环境可以根据它的外部参数名或参数列表调用合适的构造函数.默认构造函数结构体和类在构造过程中会调用一个构造函数,即便是没有编写任何构造函数,编译器也会提供一个默认的构造函数.下面看示例代码:   class Rectangle { var width: Double  = 0.0 var height: Double = 0.0 } var rect = Recta

【C++】默认构造函数

参考文献: 1.黄邦勇帅 2.http://www.cnblogs.com/graphics/archive/2012/10/02/2710340.html 3.http://blog.csdn.net/pnhuangyu/article/details/12352073 分三个部分: 一.基础 二.什么时候需要默认构造函数 三.默认构造函数将成员初始化为了什么值 一.基础 1.没有参数的构造函数是默认构造函数,默认构造函数只有一个. 2.如果用户没有自己声明构造函数,C++将提供一个默认的构造

[C++11] 默认构造函数

类通过一个特殊的构造函数来控制默认初始化过程,这个函数就是默认构造函数,默认构造函数无需任何实参.我们可以显示的定义默认构造函数也可以让编译器为我们生成默认构造函数.默认构造函数以如下规则初始化累的数据成员: 如果存在类内初始值,用它来初始化成员. 否则,默认初始化该成员. class Sales_data { public: std::string bookNo; unsigned units_sold = 0; double revenue = 0.0; }; 如上所示,因为Sales_da