构造函数:构建创造对象时调用的函数,作用:可以给对象进行初始化。
创建对象都必须要通过构造函数初始化。
如果一个类中没有定义构造函数,那么该类中就会有一个默认的无参构造函数。
如果在类中定义了指定的构造函数,那么类中的默认构造函数就没有了。
构造函数和一般函数有什么区别呢?
构造函数:对象创建时,就会调用与之对应的构造函数,对对象进行初始化
一般函数:对象创建后,需要函数功能时才调用
构造函数:对象创建时,会调用且只调用一次
一般函数:对象创建后,可以被调用多次
什么时候定义构造函数呢?
在描述事物时,该事物一存在就具备的一些内容,这些内容都定义在构造函数中。
构造函数可以有多个,用于不同的对象进行针对性的初始化。
多个构造函数在类中是以重载的形式来体现的。
细节:
1、构造函数如果完成set功能,set方法是否需要。
2、一般函数不能直接调用构造函数。
3、构造函数如果前面加了void就变成了一般函数。
4、构造函数中有return 语句。
class Person{
private int id;
private String name;
Person() { //无参构造,默认构造函数
}
Person(int id, String name) { //指定构造函数
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void show() {
System.out.println("name:" + name);
}
}
public class Demo {
public static void main(String[] args) {
Person person1 = new Person();
person1.setId(1);
person1.setName("Tom");
person1.show();//name:Tom
Person person2 = new Person(2,"Jarry");
person2.show();//name:Jarry
}
}