preloder
دستگرمی

دستگرمی دهم

دستگرمی این هفته

برنامه زیر را در نظر بگیرید:

خروجی برنامه فوق کدام گزینه است؟

  • 123456789123456789 (60%, 3 رای)
  • 375937592648126481 (40%, 2 رای)
  • 357935792468124681 (0%, 0 رای)
  • 357924681 (0%, 0 رای)
  • 375926481 (0%, 0 رای)

مجموع رای ها: 5

Loading ... Loading ...

پاسخ

پاسخ صحیح: ۳۵۷۹۲۴۶۸۱۳۵۷۹۲۴۶۸۱

همان‎طور که در دستگرمی چهارم هم توضیح داده شد، ترتیب مقداردهی اولیه به این صورت است:

یک بار برای هر کلاس (اول برای کلاس پدر و سپس برای کلاس فرزند):

  • مقدارهی درخط به متغیرهای استاتیک و بلوک‌های استاتیک (static block) – به ترتیبی که در کد نوشته شده‎اند.

بک بار به ازای ایجاد هر شی (اول برای کلاس پدر و سپس برای کلاس فرزند):

  • مقداردهی درخط به متغیرها و بلوک‎های مقداردهی اولیه (instance initialization block) – به ترتیبی که در کد نوشته شده‎اند.
  • سازنده (Constructor)

با این توضیحات، سراغ متد main می‎رویم:

در خط ۵۲، یک شی از کلاس Initialization2 می‎خواهد ایجاد شود.

برای این منظور ابتدا به سراغ کلاس پدرش یعنی کلاس Initialization1 می‎رویم. ابتدا متغیرها و بلوک‎های استاتیک، سپس متغیرها و بلوک‎های غیراستاتیک و سپس سازنده این کلاس اجرا می‎شود.

با مقداردهی متغیرها و بلوک‎های استاتیک در کلاس Initialization1، به ترتیب اعداد ۳۵۷۹ در خروجی چاپ می‎شود.

با مقداردهی متغیرها و بلوک‎های غیراستاتیک، به ترتیب اعداد ۲۴۶۸ در خروجی چاپ می‎شود.

در نهایت هم سازنده این کلاس فراخوانی شده و عدد ۱ در ادامه خروجی چاپ می‎شود. پس تا اینجا، عبارت ۳۵۷۹۲۴۶۸۱ در خروجی چاپ شده است.

حال به سراغ کلاس فرزند، یعنی کلاس Initialization2 می‎رویم. 

با مقداردهی متغیرها و بلوک‎های استاتیک در کلاس Initialization2، به ترتیب اعداد ۳۵۷۹ در خروجی چاپ می‎شود.

با مقداردهی متغیرها و بلوک‎های غیراستاتیک، به ترتیب اعداد ۲۴۶۸ در خروجی چاپ می‎شود.

در نهایت هم سازنده این کلاس فراخوانی شده و عدد ۱ در ادامه خروجی چاپ می‎شود. پس در نهایت عبارت ۳۵۷۹۲۴۶۸۱ در ادامه خروجی چاپ شده است.

خروجی نهایی در کنسول، عبارت است از ۳۵۷۹۲۴۶۸۱۳۵۷۹۲۴۶۸۱

.

.

.

با ما همراه باشید

آدرس کانال تلگرام: JavaCupIR@

آدرس اکانت توییتر: JavaCupIR@

آدرس صفحه اینستاگرام: javacup.ir

آدرس گروه لینکدین: Iranian Java Developers

[تعداد: 2    میانگین: 3/5]
برچسب ها
نمایش بیشتر

نوشته های مشابه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید

بستن
دکمه بازگشت به بالا