যখন কোনো অবজেক্ট তৈরি হয়, একটি নন-স্ট্যাটিক ব্লক কনস্ট্রাক্টরের এক্সিকিউশন থেকে আগে এক্সিকিউট হয়।
নন-স্ট্যাটিক ব্লক
- নন-স্ট্যাটিক ব্লক হল ক্লাস লেভেল ব্লক যেগুলোর কোনো প্রোটোটাইপ নেই।
- নন-স্ট্যাটিক ব্লক-র প্রয়োজন হয় যেকোনো লজিক এক্সিকিউট করার জন্য যখনই কোনো অবজেক্ট তৈরি হয়, কনস্ট্রাক্টর-এর ওপর নির্ভর না করে।
- নন-স্ট্যাটিক ব্লকগুলো JVM দ্বারা স্বয়ংক্রিয়ভাবে প্রতিটি অবজেক্ট তৈরি হওয়ার সময় জাভা স্ট্যাক এরিয়া-এ কল করা হয়।
- জাভাতে আমরা যেকোনো সংখ্যক নন-স্ট্যাটিক ব্লক তৈরি করতে পারি।
- নন-স্ট্যাটিক ব্লক-এর এক্সিকিউশন অর্ডার হল সেগুলো যে ক্রমে ডেফাইন করা হয়েছে।
উদাহরণ
public class NonStaticBlockTest {
{
System.out.println("First Non-Static Block"); // প্রথম নন-স্ট্যাটিক ব্লক
}
{
System.out.println("Second Non-Static Block"); // দ্বিতীয় নন-স্ট্যাটিক ব্লক
}
{
System.out.println("Third Non-Static Block"); // তৃতীয় নন-স্ট্যাটিক ব্লক
}
NonStaticBlockTest() {
System.out.println("Execution of a Constructor"); // কনস্ট্রাক্টর
}
public static void main(String args[]) {
NonStaticBlockTest nsbt1 = new NonStaticBlockTest();
NonStaticBlockTest nsbt2 = new NonStaticBlockTest();
}
}
আউটপুট
First Non-Static Block Second Non-Static Block Third Non-Static Block Execution of a Constructor First Non-Static Block Second Non-Static Block Third Non-Static Block Execution of a Constructor