什么是构造方法?
1.构造方法是类构造对象时调用的方法,用于对象的初始化操作
2.构造方法是实例化一个类最先调用的方法
构造方法的定义
构造方法是在类中定义的
定义格式为:方法名与类名一致,无返回值类型的声明
public class Person {
private String name;
private int age;
//构造方法
public Person() {
}
}
对象的实例化语法
Person p = new Person();
new Person();就是调用的构造方法
构造方法的重载
无参构造
带参数的构造方法
注意:
每一个类中都会有一个默认的无参的构造方法(当一个类没有显示的构造方法却能够通过无参构造实例化对象的原因),默认执行无参构造,但是如果已经进行了方法重载,则系统不会创建无参的构造方法,意思就是写了带参的构造方法就必须写无参构造方法,否则无参方法调用会报错
构造方法之间的相互调用(通过this关键字)
this(调用构造方法的参数列表)
注意:this必须处于方法第一行,且调用之间必须要有出口(不能一直调用下去,进入死循环)
public Person(String name) {
this.name = name;
}
public Person(String name, int age) {
this(name);
this.age = age;
}
构造方法小结
1.构造方法名称与类名相同,没有返回值声明(包括void)
2.构造方法用于初始化数据(属性)
3.每一个类中都会有一个默认的无参的构造方法
4.如果类中有显示的构造方法,默认的无参将会无效
5.如果类中有显示的构造方法,还想保留默认构造方法,需要手写无参构造方法(也可以通过开发工具生成)
6.构造方法可以有多个,但是参数不一样,称为构造方法的重载
7.在构造方法中调用另一个构造方法,使用this(...),该句代码必须在方法第一句
9.给对象初始化数据可以使用构造方法或setter方法,通成情况下,两者都会保留10.建议保留默认的构造方法(为了方便一些框架代码使用反射来创建对象)
11.private Person(){},构造方法私有化(单例模式),只需要一个对象实例时