一、概念
Java中构造器就是指一个类当中的构造方法,分为无参构造和有参构造:
- 无参构造方法:与类名相同,无返回类型的方法,参数为空。
- 有参构造方法:与类名相同,无返回类型的方法,带有参数。
比如:一个Dao类,private Dao(){}这个就是无参构造方法。private Dao(String name){}就是有参构造方法。
二、作用
用来初始化Java类,提供类的初始化和实例化,以便调用,当我们new一个对象的时候要用到构造函数。例如:
- Hello hello = new Hello();这时调用的是Hello的无参数构造方法;
- Hello hello = new Hello(“hi”);这时调用的是Hello的有参数构造方法。
在Java中如果不写构造方法的话,会默认加上一个无参数的构造方法,但是如果只有一个有参构造方法,那么无参构造方法就不会默认被加上,需要我们手动加上。如果Hello类中只有一个有参构造方法,我们通过Hello hello = new Hello();来创建对象的时候就会出错,因此当我们写有参构造方法就必须加一个无参构造方法。
三、区别
-
无参构造方法:可以控制new对象,通过无参无参构造方法来创建对象。
-
有参构造方法:为类中的属性进行初始化
public class Ticket {
private int amount;
// 构造器定义票的初始量
public Ticket(int amount) {
this.amount = amount;
}