Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để tạo một phương thức khởi tạo tham số hóa trong Java?

Một hàm tạo tương tự như phương thức và nó được gọi tại thời điểm tạo một đối tượng của lớp, nó thường được sử dụng để khởi tạo các biến thể hiện của một lớp. Các hàm tạo có cùng tên với lớp của chúng và không có kiểu trả về.

Có hai loại hàm tạo là hàm tạo tham số hóa và hàm tạo không đối số.

Các hàm tạo được tham số hóa

Một phương thức khởi tạo được tham số hóa chấp nhận các tham số mà bạn có thể khởi tạo các biến cá thể. Sử dụng phương thức khởi tạo được tham số hóa, bạn có thể khởi tạo động các biến lớp tại thời điểm khởi tạo lớp với các giá trị riêng biệt.

Ví dụ

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("Name of the Student: "+this.name );
      System.out.println("Age of the Student: "+this.age );
   }
   public static void main(String args[]) {  
      //Reading values from user
      Scanner sc = new Scanner(System.in);      
      System.out.println("Enter the name of the student: ");
      String name = sc.nextLine();
     
      System.out.println("Enter the age of the student: ");
      int age = sc.nextInt();      
      System.out.println(" ");
     
      //Calling the constructor that accepts both values
      System.out.println("Display method of constructor that accepts both values: ");
      new StudentData(name, age).display();
      System.out.println(" ");
     
      //Calling the constructor that accepts name
      System.out.println("Display method of constructor that accepts only name: ");
      new StudentData(name).display();
      System.out.println(" ");
     
      //Calling the constructor that accepts age
      System.out.println("Display method of constructor that accepts only age: ");
      new StudentData(age).display();
      System.out.println(" ");
     
      //Calling the default constructor
      System.out.println("Display method of default constructor: ");
      new StudentData().display();
   }
}

Đầu ra

Enter the name of the student:
Krishna
Enter the age of the student:
22

Display method of constructor that accepts both values:
Name of the Student: Krishna
Age of the Student: 22

Display method of constructor that accepts only name:
Name of the Student: Krishna
Age of the Student: 0

Display method of constructor that accepts only age:
Name of the Student: null
Age of the Student: 22