构造方法是类中的一个特殊成员,它会在类实例化的时候被调用。分为有参构造和无参构造。每个类默认有一个无参构造方法,构造方法除了在实例化对象的时候会被调用之外,还可以实现对类中的属性赋值
定义构造方法必须满足三个条件
- 方法名和和类名相同
- 在方法前面没有返回值类型的声明
- 在方法中不能使用return语句返回一个值
实例:无参构造
public class Student {
//无参构造方法
public Student() {
System.out.println("无参构造方法被调用了.......");
}
//main方法
public static void main(String[] args) {
Student student = new Student();
}
}
运行结果:从运行结果看出实例化student对象时该类的无参构造方法被调用了
实例:有参构造
public class Student {
private String name;
private int age;
//有参构造
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public void print(){
System.out.println("name = " + name);
System.out.println("age = " + age);
}
//main方法
public static void main(String[] args) {
Student student = new Student("小明", 20);
student.print();
}
}
运行结果:
构造方法的重载
与普通方法一样,构造方法也可以重载,在一个类中定义多个构造方法,只要构造方法的参数类型和参数个数不同即可。这样我们可以通过不同的构造方法为不同的属性赋值
实例:
package com.touyan.portal.sdk.remote.operator;
public class Student {
private String name;
private int age;
//有参构造方法为name属相赋值
public Student(String name) {
this.name = name;
}
//有参构造方法为age属相赋值
public Student(int age) {
this.age = age;
}
//有参构造方法为name,age属相赋值
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public void print(){
System.out.println("name = " + name + " " + "age = " + age);
}
//main方法
public static void main(String[] args) {
Student student1 = new Student("小明");
student1.print();
Student student2 = new Student(20);
student2.print();
Student student3 = new Student("小明", 20);
student3.print();
}
}
运行结果:从运行结果可以看出来,根据传入参数的不同,分别调用了不同的参数