1、构造函数概念
构造函数就是构建创造对象时调用的函数,构造函数在创造对象时就调用,用于对该对象属性的初始化。所有的对象创建时,都需要进行初始化才可以使用。一个类中如果没有定义构造函数,那么该类中会有一个默认的空参数的构造函数,如果在类中定义了构造函数,类中默认的那个空参数的构造函数就不再存在了。
构造函数特点:
①构造函数名称和所在类名称相同
②构造函数不需要定义返回值类型
③构造函数没有具体的返回值
所有的对象都需要进行初始化才能够使用
class Person
{
private String name;
private int age;
Person()
{
age = 12;
name = "小强";
System.out.println("Person() is running");
}
void speak()
{
System.out.println("name="+name+"\nage="+age);
}
}
class PersonTest
{
public static void main(String[] args)
{
Person p = new Person();
p.speak();
}
}
该程序运行结果是:
name=小强
age=12
2、构造函数和一般函数的区别
构造函数:对象创建时,就会调用与之对应的构造函数,对对象进行初始化。初始化动作只执行一次。
一般函数:对象创建后,需要函数功能时才调用。 可以多次进行调用。
3、构造函数的重载
一个类中可以有多个构造函数,他们是以重载的形式来体现的,即以参数列表的不同来区分的。
class Person
{
private String name;
private int age;
Person()
{
name = "旺财";
age = 10;
}
Person(String n)
{
name = n;
age = 0;
}
Person(int a)
{
name = "babby";
age = a;
}
void speak()
{
System.out.println("name="+name+"\nage="+age);
}
}
class PersonDemo
{
public static void main(String[] args)
{
Person p = new Person("小强");
p.speak();
}
}
输出结果:
name=小强
age=0
4、内存图解
创造对象时内存使用情况如下;
5、构造函数使用细节
①一般函数不能直接调用构造函数。
②构造函数如果前面加了void就变成了一般函数。
③构造函数中是有return语句的,return用于结束函数。