এক কনস্ট্রাক্টর মেথডের মতোই কিন্তু এটি ক্লাসের অবজেক্ট তৈরি করার সময় আহ্বান করা হয়। এটি সাধারণত ক্লাসের ইনস্ট্যান্স ভেরিয়েবল ইনিশিয়ালাইজ করার জন্য ব্যবহৃত হয়। কনস্ট্রাক্টরের নাম ক্লাসের নামের সাথে মিলে থাকে এবং এর কোনো রিটার্ন টাইপ নেই।
প্যারামিটারাইজড কনস্ট্রাক্টর
এক প্যারামিটারাইজড কনস্ট্রাক্টর প্যারামিটার গ্রহণ করে যাদি ইনস্ট্যান্স ভেরিয়েবল ইনিশিয়ালাইজ করা যায়। এর মাধ্যমে ক্লাস ইনস্ট্যান্টিয়েট করার সময় ডাইনামিকভাবে ভিন্ন ভ্যালু দিয়ে ইনিশিয়ালাইজ করা সম্ভব।
সিনট্যাক্স
public class Sample {
int i;
public Sample(int i) {
this.i = i;
}
}
উদাহরণ ১
public class Test {
String val;
Test(String val) {
this.val = val;
}
public static void main(String args[]) {
Test obj = new Test("test");
System.out.println(obj.val);
}
}
আউটপুট
test
উদাহরণ ২: একাধিক প্যারামিটার
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