构造函数与method相似,它在创建类的对象时被调用,通常用于初始化类的实例变量。构造函数与其类具有相同的名称,并且没有返回类型。
有两种类型的构造函数:参数化构造函数和无参数构造函数。
参数化的构造函数接受可以用来初始化实例变量的参数。使用参数化的构造函数,可以在使用不同的值实例化类时动态地初始化类变量。
public class StudentData { private String name; private int age; public StudentData(String name, int age){ this.name= name; this.age= age; } public StudentData(){ this(null, 0); } public StudentData(String name) { this(name, 0); } public StudentData(int age) { this(null, age); } public void display(){ System.out.println("学生姓名: "+this.name ); System.out.println("学生年龄: "+this.age ); } public static void main(String args[]) { //从用户读取值 Scanner sc = new Scanner(System.in); System.out.println("Enter the 学生姓名: "); String name = sc.nextLine(); System.out.println("Enter the 学生年龄: "); int age = sc.nextInt(); System.out.println(" "); //调用接受两个值的构造函数 System.out.println("接受两个值的构造函数的显示方法: "); new StudentData(name, age).display(); System.out.println(" "); //调用接受名称的构造函数 System.out.println("仅接受名称的构造方法的显示方法: "); new StudentData(name).display(); System.out.println(" "); //调用接受年龄的构造函数 System.out.println("仅接受年龄的构造函数的显示方法: "); new StudentData(age).display(); System.out.println(" "); //调用默认构造函数 System.out.println("默认构造函数的显示方法: "); new StudentData().display(); } }输出结果
Enter the 学生姓名: Krishna Enter the 学生年龄: 22 接受两个值的构造函数的显示方法: 学生姓名: Krishna 学生年龄: 22 仅接受名称的构造方法的显示方法: 学生姓名: Krishna 学生年龄: 0 仅接受年龄的构造函数的显示方法: 学生姓名: null 学生年龄: 22