特点:
- 函数名与类名相同
- 不用定义返回值类型
- 不可以写return语句
作用:为对象进行初始化
注意:
- 默认构造函数的特点,多个构造函数是以重载的形式存在的。对象建立就会调用对应的构造函数
- 当类中没有定义构造函数时,那么系统会加载一个空参数的构造函数
当类中自定义了构造函数,那么系统默认的构造函数就不存在了
构造函数和一般函数的区别:
- 写法上不同、用法上也不同,构造函数是对象建立时,给对象进行初始化,一般函数是对象调用时才执行,给对象添加具备的功能
- 构造函数在对象建立时运行一次,一般函数可以被对象调用多次
什么时候定义构造函数:
当分析事物时,该事物具备一些特性和行为,那么就需要定义构造函数
class Persion
{
Persion();
}
class Persion
{
private String name;
private int age;
Persion()
{
System.out.println(“A:name”+name+”,,age=”+age);
}
Persion(String n)
{
name = n;
System.out.println(“B:name”+name+”,,age=”+age);
}
Persion(String n ,int a)
{
name = n;
age = a;
System.out.println(“=C:name”+name+”,,age=”+age);
}
}
class PersionDemo2
{
public static void main(String[] args)
{
Person p = new Persion();
new Persion();
new Persion();
Person P1 = new Persion(“lisi”);
Persion p2 = new Persion(“wangwu”,10);
}
}
构造代码块
作用:给对象进行初始化,对象一旦运行,优于构造函数执行。
与构造函数的区别:
- 构造代码块是给所有对象统一进行初始化
- 构造函数是给对应对象进行初始化。
- 构造代码块定义的是不同对象,共性的初始化内容
实例:
class Persion
{
private String name;
private int age;
{
System.out.println(“persion code run”);
}
}