Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에는 몇 가지 유형의 생성자가 있습니까?

<시간/>

생성자는 메소드와 유사하며 클래스의 객체를 생성할 때 호출되며 일반적으로 클래스의 인스턴스 변수를 초기화하는 데 사용됩니다. 생성자는 클래스와 이름이 같으며 반환 유형이 없습니다.

매개변수화된 생성자와 인수가 없는 생성자에는 두 가지 유형이 있습니다.

매개변수화된 생성자

매개변수화된 생성자는 인스턴스 변수를 초기화할 수 있는 매개변수를 허용합니다. 매개변수화된 생성자를 사용하여 고유한 값으로 클래스를 인스턴스화할 때 클래스 변수를 동적으로 초기화할 수 있습니다.

import java.util.Scanner;
public class Test {
   int num;
   String data;
   float flt;
   Test(int num, String data, float flt){
      this.num = num;
      this.data = data;
      this.flt = flt;
   }
   public static void main(String args[]){
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter an integer value: ");
      int num = sc.nextInt();
      System.out.println("Enter a string value: ");
      String data = sc.next();
      System.out.println("Enter a floating point value: ");
      float flt = sc.nextFloat();      
      Test obj = new Test(num, data, flt);
      System.out.println(obj.num);
      System.out.println(obj.data);
      System.out.println(obj.flt);

   }
}

출력

Enter an integer value:
1024
Enter a string value:
test
Enter a floating point value:
11.2
1024
test
11.2

인수 없는 생성자

인수가 없는 생성자는 매개변수를 허용하지 않으며 해당 기본값으로 클래스 변수를 인스턴스화합니다(예:객체의 경우 null, float 및 double의 경우 0.0, Boolean의 경우 false, byte, short, int 및, long의 경우 0).

public class Test {
   int num;
   String data;
   float flt;
   Test(){
      this.num = 100;
      this.data = "test";
      this.flt = 125.33f;
   }
   public static void main(String args[]){  
      Test obj = new Test();
      System.out.println(obj.num);
      System.out.println(obj.data);
      System.out.println(obj.flt);
   }
}

출력

100
test
125.33