স্থিতিশীল ক্ষেত্রগুলি সময়কালে শুরু হয় ক্লাস লোডিং (লোডিং, লিঙ্কিং এবং ইনিশিয়ালাইজেশন) সূচনাকরণের "পর্যায়ে" স্থির সূচনাকারী এবং এর স্থির ক্ষেত্রগুলির সূচনাকরণ অন্তর্ভুক্ত করে। স্ট্যাটিক ইনিশিয়ালাইজারগুলি ক্লাসে সংজ্ঞায়িত হিসাবে একটি পাঠ্য ক্রমে কার্যকর করা হয়।
উদাহরণ বিবেচনা করুন:
public class Test {
static String sayHello() {
return a;
}
static String b = sayHello(); // a static method is called to assign value to b.
// but its a has not been initialized yet.
static String a = "hello";
static String c = sayHello(); // assignes "hello" to variable c
public static void main(String[] arg) throws Throwable {
System.out.println(Test.b); // prints null
System.out.println(Test.sayHello()); // prints "hello"
}
}
টেস্ট.বি প্রিন্ট করে null
কারণ যখন sayHello
স্ট্যাটিক স্কোপতে ডাকা হত, স্ট্যাটিক ভেরিয়েবলটি a
আরম্ভ করা হয় নি।