构造函数:构建创造对象时调用的函数。
特点:
1函数名和类名相同
2不用定义返回值类型 例如Person类中 void Person() 不是构造函数
3没有具体的返回值
作用:
给对象进行初始化
注意:
1多个构造函数是以重载的形式存在的。
2一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数构造函数。
如果在类中定义了指定的构造函数,那么类中的默认构造函数就没有了。
举个例子:
Demo.java
class Person
{
private int age;
private String name;
Person(int a, String n)
{
age = a;
name = n;
}
public void Speak()
{
System.out.println(name+":"+age);
}
}
class Demo
{
public static void main(String[] args)
{
Person p = new Person();
p.Speak();
}
}
运行结果:
原因:因为我们已经重新定义了Person的构造函数
Person(int a, String n),所以再调用默认的就会报错。
一般函数和构造函数的区别:
构造函数:对象创建时,就会调用与之对应的构造函数,对对象进行初始化。
一般函数:对象创建时,需要函数功能时才调用。
构造函数:对象创建时,会调用只调用一次。
一般函数:对象创建后,可以调用多次。