构造函数是当你创建对象时,由系统调用的;
可以重载
例子
public Class Person{首先,一般来说,C/C++里面叫“函数”,Java里面叫“方法”,所以它叫“构造方法”。
构造方法的用处就是标示怎么“构造”一个实例对象。例如有这样一个学生类的定义:
class Student{很简单,Student类有两个属性分别为name和age,也有两个构造方法,一个是无参数的,一个是有name和age两个参数的。
那么当你需要一个Student类实例对象时,一般来说,就会用到这样的代码:
Student stu = new Student(); //创建一个学生对象代码是很简单,不过JVM实际上是怎么执行呢?它会申请内存,创建对象,初始化对象,得到对象引用,然后把引用赋值给stu变量。这就有个问题了,如果你把你自己想象成JVM,有条命令丢过来给你说“喂,JVM,造个Student对象给我”,你是不是得知道具体怎么造这个对象?构造方法就是起这个作用的,“告诉”JVM如何去创建这类对象。
所以像刚才那行代码,JVM发现要执行的代码要创建Student对象,并且无参数,就会调用无参数的构造方法。同理,如果有以下代码:
Student zhang = new Student("张三",20); //创建一个学生对象JVM就会去调用带name和age两个参数的构造方法了。这个构造方法除了创建一个Student对象外,在构造的时候就会根据给定的参数name、age设置正在构造的这个对象name、age属性。
构造函数是一种特殊的方法,用来创建对象的实例并初始化其参数。一般使用方法是和Java的new关键字搭配使用,创建对象实例。
构造函数可以被重载。
几点注意:
当不声明构造函数时,默认有一个无参数的构造方法。
构造函数不能有返回类型
构造函数可以是私有的,这样外部就无法由私有的构造函数创建对象