Tooling মধ্যম

অবচিত Class.newInstance()-কে স্পষ্ট কনস্ট্রাক্টর অনুসন্ধান ও আহ্বান দিয়ে প্রতিস্থাপন করুন।

✕ Deprecated Class.newInstance()
Plugin plugin = pluginClass.newInstance();
✓ Constructor reflection
Plugin plugin = pluginClass
        .getDeclaredConstructor()
        .newInstance();
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
✅

সমর্থিত API

অবচিত Class.newInstance()-এর ব্যবহার সরিয়ে দেয়।

🎯

স্পষ্ট কনস্ট্রাক্টর

অনুরোধ করা সিগনেচার দৃশ্যমান থাকে এবং আর্গুমেন্ট নিতে পারে।

🛡

সঠিক ব্যর্থতা

কনস্ট্রাক্টরের এক্সসেপশন InvocationTargetException-এর মাধ্যমে প্রকাশিত হয়।

পুরনো পদ্ধতি
Class.newInstance()
আধুনিক পদ্ধতি
স্পষ্ট কনস্ট্রাক্টর অনুসন্ধান
JDK থেকে
9
কঠিনতা
মধ্যম
Class.newInstance() থেকে কনস্ট্রাক্টর রিফ্লেকশন
উপলব্ধ

JDK 9-এ (সেপ্টেম্বর 2017) Class.newInstance() অবচিত হওয়ার পর থেকে প্রস্তাবিত।

Class.newInstance() অবচিত, কারণ এটি কনস্ট্রাক্টর থেকে নিক্ষিপ্ত এক্সসেপশনের কম্পাইল-টাইম পরীক্ষা এড়াতে পারে এবং শুধু শূন্য-আর্গুমেন্ট কনস্ট্রাক্টর সমর্থন করে। স্পষ্ট Constructor অনুসন্ধান নির্বাচিত সিগনেচার দৃশ্যমান করে এবং উপযুক্ত রিফ্লেকশন এক্সসেপশনের মাধ্যমে রিফ্লেকটিভ আহ্বানের ব্যর্থতা জানায়। মডিউল ও অ্যাক্সেসের নিয়ম এখনও প্রযোজ্য; এই প্যাটার্ন এনক্যাপসুলেশন এড়ানোর পরামর্শ দেয় না।