有无参构造函数

都在对象被构造的时候被调用,只是在构造对象时根据new对象的参数类型和个数进行选择对应的构造方法进行调用,当没有参数时调用无参构造方法,
* 有参数时调用对应的有参构造方法。构造函数的参数一般用来初始化类的数据成员。 构造函数的特点及作用: 构造函数的命名必须和类名完全相同。
* 构造函数的功能主要用于在类的对象创建时定义初始化的状态。它没有返回值,也不能用void来修饰。
* 构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用。
* 当定义一个类定义的时候,通常情况下都会默认一个构造函数,此默认构造函数是不带参数的。
* 重要的一点:
* 当自定义了含参构造函数时,默认构造函数将需要手动书写出来。
* WHY?
* 构造器其实就是构造对象实例的方法,无参数的构造方法是默认的,但是如果你创造了一个带有参数的构造方法,那么无参的构造方法必须显式的写出来,否则会编译失败。
* 以你的例子来讲cust有两种实例化的方法,一个是new cust()和new cust(4),前者只是简单实例化一个cust对象,
* 而后则实例化cust对象后,并将对象中的变量a赋值为4,如果在你的例子中将cust(){}删除,则会编译失败的
* 也就是说:前者先声明有这个对象,后者再赋值给这个对象。

原文地址:https://www.cnblogs.com/fengli9998/p/6528937.html