目录
1.构造方法的定义与说明
构造方法 : 用来初始化对象的方法
(1)
构造方法名与类名相同
,
且没有返回值,且不需要使用void修饰
。
(2)
作用:在构造方法中为创建的对象初始化赋值,
(3)
在创建一个对象的时候,至少要调用一个构造方法。
(4)
每个类都有构造方法。如果没有显式地为类定义构造方法,Java将会为该类提供一个默认构造方法,但是只要在一个Java类中定义了一个构造方法后,默认的无参构造方法即失效。
我们说构造方法是用来初始化对象的,那么它是怎样去初始化的呢,回想我们创建对象的语法
例 : Car car= new
Car();
我们可以看到new关键字右边的这一块 ,这其实就是调用了Car类的构造方法来创建此对象的
2.构造方法的声明与使用
构造方法也分为有参和无参的,如果没有显示的定义构造方法,默认是无参的
例:
public class Car { //设计一个Car类
private String model; //型号
private String color; //颜色
//无参构造方法
public Car(){
}
//有参构造方法
public Car(String model,String color){
this.model=model;
this.color=color;
}
@Override
public String toString() { //重写toString用来输出对象
return "Car{" +
"model='" + model + '\'' +
", color='" + color + '\'' +
'}';
}
public static void main(String[] args) {
Car car1=new Car(); //调用无参构造方法初始化第一个对象
System.out.println(car1);
Car car2=new Car("宝马","白色"); //调用有参构造方法初始化第二个对象
System.out.println(car2);
}
}
输出结果:

如上图,我们同时写出了无参和有参的构造方法,我们知道.当我们先写了有参的构造方法时,默认的无参的构造方法会被覆盖,这时我们是无法通过无参构造方法来创建对象的
所以我们一般在定义构造方法时也会去显式的写出无参的构造方法去使用
3.注意事项
构造方法之所以可以分为有参和无参,原因就是方法是可以去重载的
当然我们也可以去为一个类设计更多的构造方法,参数不同即可
例:
public Car(String model,String color){
this.model=model;
this.color=color;
}
public Car(String model){
this.model=model;
}
我们可以根据需求来灵活设计构造方法,来创建不同的对象