构造方法:
构造方法是类中的一个特殊成员,它会在类实例化的时候被调用。分为有参构造和无参构造。每个类默认有一个无参构造方法,构造方法除了在实例化对象的时候会被调用之外,还可以实现对类中的属性赋值。
构造方法的定义:
定义构造方法必须满足三个条件
1、方法名和和类名相同。
2、在方法前面没有返回值类型的声明。
3、在方法中不能使用return语句返回一个值。
实例:
//定义一个Student类
public class Student {
//定义一个无参构造方法
public Student() {
System.out.println("无参构造方法被调用了.......");
}
public static void main(String[] args) {
//实例化一个对象
Student student = new Student();
}
}
运行结果:
从运行结果看出实例化student对象时该类的无参构造方法被调用了。
实例(有参构造):
//定义一个Dog类
public class Dog {
String dogName;
String color;
//定义一个有参构造方法,为成员属性赋值
public Dog(String dogName, String color) {
this.dogName = dogName;//为douName赋值
this.color = color;//为color赋值
}
public void shouTime(){
System.out.println(dogName + " " + color);
}
public static void main(String[] args) {
//实例化Dog对象
Dog dog = new Dog("金毛","黄色");
dog.shouTime();
}
}
运行结果:
构造方法的重载:
与普通方法一样,构造方法也可以重载,在一个类中定义多个构造方法,只要构造方法的参数类型和参数个数不同即可。这样我们可以通过不同的构造方法为不同的属性赋值。
实例:
//定义一个Dog类
public class Dog {
String dogName;
String color;
//定义一个参数的构造方法
public Dog(String dogName) {
this.dogName = dogName;
}
//定义两个参数的构造方法
public Dog(String dogName, String color) {
this.dogName = dogName;//为douName赋值
this.color = color;//为color赋值
}
public void shouTime(){
System.out.println(dogName + " " + color);
}
public static void main(String[] args) {
//分别实例化d1和d2两个对象
Dog d1 = new Dog("哈士奇", "黑白");
d1.shouTime();
Dog d2 = new Dog("哈士奇");
d2.shouTime();
}
}
运行结果:
从运行结果可以看出来,根据传入参数的不同,分别调用了不同的参数。
加油吧!!!