1.什么是构造函数?
构造函数顾名思义,就是对象被构造的时候就会被调用的函数。例如当你new一个Cat对象的时候,Cat对象的构造函数就会被调用。
public static void main(String[] args) {
Cat c = new Cat();
}
构造函数是与类名同名的函数,不能有返回类型。例如:
public class Cat {
Cat(){
System.out.println("Cat is be created");
}
}
这里的Cat()就是一个构造函数,它的函数名与类名相同,且该函数没有返回类型。
2.构造函数有什么用?
当我们创建一个对象时,我们一般希望给新创建的对象赋初值,这时我们一般会利用构造函数给新创建的对象赋初值(因为它刚好是构造新对象时被调用嘛)。例如我们想创建了一个Cat类型的对象c,并把c的成员变量weight赋初值为5,hight赋初值为30,那么我们的代码应该是这样的。
这是创建对象的代码
public static void main(String[] args) {
Cat c = new Cat(5, 30);
}
这是构造函数的代码
Cat(float height, float weight){
this.height = height;
this.weight = weight;
}
3.注意
每个类都有至少一个构造函数,即使你没有写一个构造函数,系统也会帮你默默地加上一个构造函数。
构造函数的函数名一定要与类名相同,且构造函数不能有返回类型。
构造函数可以有多个,但不同的构造函数之间的参数数量或类型不能完全相同,这涉及到函数重载的知识,我会在之后的文章具体讲解。