如何在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