سلام استاد.بلاک استاتیک قبل از نمونه سازی اجرا میشه.یعنی اگر بنویسیم Student student،بلاک استاتیک قبل از ()new Student اجرا میشه.درواقع بلاک استاتیک قبل از سازنده اجرا میشه درسته؟
به نظرم بلاک استاتیک اولین بلاکی هست که بعد از نمونه سازی اجرا میشه.
عماد حبیبی۱۳ آذر ۱۳۹۸، ۱۳:۲۰
سلام خیر، بلاک استاتیک زمانی اجرا میشه که خود کلاس توسط بخشی به اسم class loader لود میشه، فرض کنید که ما کلاس داریم که فقط متدهای استاتیک داشته باشه، خب طبیعتا در این حالت ما هیچ نمونه ای از کلاس نمیگیریم ولی به محض اینکه اولین متد استاتیک صدا زده بشه، قبلش بلاک استاتیک اجرا میشه و تفاوت اصلی اون با مثلا constructor این هست که متد constructor به ازای هر نمونه ای که از کلاس گرفته میشه صدا زده میشه ولی بلاک استاتیک فقط یک بار call میشه