如何在Java中创建参数化的构造函数?
构造函数与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