💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ mohammad arefi
سوال در مورد استاتیک
جامعه جاوا (اندروید) ایجاد شده در ۱۳ آذر ۱۳۹۸

سلام استاد.بلاک استاتیک قبل از نمونه سازی اجرا میشه.یعنی اگر بنویسیم Student student،بلاک استاتیک قبل از  ()new Student اجرا میشه.درواقع بلاک استاتیک قبل از سازنده اجرا میشه درسته؟

       

به نظرم بلاک استاتیک اولین بلاکی هست که بعد از نمونه سازی اجرا میشه.

عماد حبیبی ۱۳ آذر ۱۳۹۸، ۱۳:۲۰

سلام خیر، بلاک استاتیک زمانی اجرا می‌شه که خود کلاس توسط بخشی به اسم class loader لود می‌شه، فرض کنید که ما کلاس داریم که فقط متدهای استاتیک داشته باشه، خب طبیعتا در این حالت ما هیچ نمونه ای از کلاس نمی‌گیریم ولی به محض اینکه اولین متد استاتیک صدا زده بشه، قبلش بلاک استاتیک اجرا می‌شه و تفاوت اصلی اون با مثلا constructor این هست که متد constructor به ازای هر نمونه ای که از کلاس گرفته می‌شه صدا زده می‌شه ولی بلاک استاتیک فقط یک بار call می‌شه

سعید شاهینی ۱۳ آذر ۱۳۹۸، ۱۹:۱۴

ممنون از توضیحات.

mohammad arefi ۱۳ آذر ۱۳۹۸، ۱۹:۳۸