জাভা প্রতিবিম্ব ব্যবহার করুন
নতুন অবজেক্ট তৈরি করা কনস্ট্রাক্টরদের জন্য পদ্ধতি আহ্বানের সমতুল্য নয়, কারণ কোন কনস্ট্রাক্টরকে অনুরোধ করা একটি নতুন অবজেক্ট তৈরি করার সমতুল্য (সুনির্দিষ্টভাবে বলা যায়, একটি নতুন অবজেক্ট তৈরি করা মেমরি বরাদ্দ এবং বস্তু নির্মাণ উভয়ই জড়িত)। সুতরাং পূর্ববর্তী উদাহরণের নিকটতম সমতুল্য বলতে হবে:
import java.lang.reflect.*;
public class constructor2 {
public constructor2()
{
}
public constructor2(int a, int b)
{
System.out.println(
"a = " + a + " b = " + b);
}
public static void main(String args[])
{
try {
Class cls = Class.forName("constructor2");
Class partypes[] = new Class[2];
partypes[0] = Integer.TYPE;
partypes[1] = Integer.TYPE;
Constructor ct
= cls.getConstructor(partypes);
Object arglist[] = new Object[2];
arglist[0] = new Integer(37);
arglist[1] = new Integer(47);
Object retobj = ct.newInstance(arglist);
}
catch (Throwable e) {
System.err.println(e);
}
}
}
যা এমন একটি নির্মাণকারীর সন্ধান করে যা নির্দিষ্ট প্যারামিটারের প্রকারগুলি পরিচালনা করে এবং তাকে অনুরোধ করে, অবজেক্টটির একটি নতুন উদাহরণ তৈরি করতে। এই পদ্ধতির মানটি হ'ল এটি সম্পূর্ণরূপে গতিশীল, নির্ধারক অনুসন্ধান এবং সংকলনের সময় পরিবর্তে মৃত্যুর সময় অনুরোধের সাথে।