最主要的功能:创建对象的同时对属性进行初始化(比如新建一个员工的时候,就要明确他的姓名,年龄等属性信息)
创建对象是会自动执行构造方法
1.在创建实例对象的时候就把这个对象的内部属性全部初始化为某个值
2.构造方法没有返回值
3.调用构造方法必须要用new操作符,或者说你在new一个对象的时候,实际上参数传给的就是构造函数
4.任何类都有构造方法,如果你没有为一个类编写构造方法,那编译器会为我们自动生成一个默认的构造方法,它没有参数,也没有方法体,比如:
class Person
{
//Person类的构造方法
public Person()
{
}
}
如果你自定义了构造方法,那么编译器就不会再自动创建默认的构造方法了:
public class Main
{
public static void main(String[] args)
{
Person p = new Person(); // 编译错误:找不到这个构造方法
}
}
class Person
{
private String name;
public Person(String name)
{
this.name = name;
}
public String getName()
{
return this.name;
}
public String setName(String name)
{
this.name=name;
}
}
5.当一个类里面有好几个构造方法的时候,会根据你的new语句自动匹配到某一个构造方法
比如:
class Person
{
private String name;
private int age;
public Person(String name, int age)
{
this.name = name;
this.age = age;
}
public Person(String name)
{
this.name = name;
this.age = 12;
}
public Person()
{
}
}
如果调用new Person("Xiao Ming", 20);
,会自动匹配到构造方法public Person(String, int)
如果调用new Person("Xiao Ming");
,会自动匹配到构造方法public Person(String)
如果调用new Person();
,会自动匹配到构造方法public Person()