פלט של תוכנית Java | סט 6

רמת קושי: בינוני

חזה את הפלט של תוכניות Java הבאות.

תוכנית 1: שרשרת קונסטרוקטורים

Java
   class   First   {      public     First  ()     {         System  .  out  .  println  (  'a'  );         }   }       class   Second     extends     First   {      public     Second  ()     {         System  .  out  .  println  (  'b'  );         }   }       class   Third     extends     Second   {      public     Third  ()     {         System  .  out  .  println  (  'c'  );         }   }       public     class   MainClass   {      public     static     void     main  (  String  []     args  )      {      Third     c     =     new     Third  ();      }   }   

תְפוּקָה
a b c  

הֶסבֵּר: כאשר אובייקט 'שלישי' נוצר לפני קריאה לבנאי ברירת המחדל של שְׁלִישִׁי class בנאי ברירת המחדל של super class כלומר. שְׁנִיָה מחלקה נקראת ואז שוב לפני בנאי ברירת המחדל של בנאי ברירת המחדל של מחלקה סופר של רֵאשִׁית הכיתה נקראת. ומכאן שהפלט הוא בסדר a b c.


תוכנית 2: אתחול משתנה וביצוע קונסטרוקטור

Java
   class   First   {      int     i     =     10  ;          public     First  (  int     j  )      {      System  .  out  .  println  (  i  );         this  .  i     =     j     *     10  ;      }   }       class   Second     extends     First   {      public     Second  (  int     j  )      {      super  (  j  );         System  .  out  .  println  (  i  );         this  .  i     =     j     *     20  ;      }   }       public     class   MainClass   {      public     static     void     main  (  String  []     args  )      {      Second     n     =     new     Second  (  20  );         System  .  out  .  println  (  n  .  i  );      }   }   

תְפוּקָה
10 200 400  

הֶסבֵּר: מכיוון שבמחלקה 'שניה' אין לו 'i' משלו, המשתנה עובר בירושה ממחלקת העל. גם הבנאי של האב נקרא כאשר אנו יוצרים אובייקט של שְׁנִיָה.


תוכנית 3: מופע של עם Iterators

Java
   import     java.util.*  ;      class   Geeks      {      public     static     void     main     (  String  []     args  )         {      Object     i     =     new     ArrayList  ().  iterator  ();         System  .  out  .  print  ((  i     instanceof     List  )     +     ' '  );         System  .  out  .  print  ((  i     instanceof     Iterator  )     +     ' '  );         System  .  out  .  print  (  i     instanceof     ListIterator  );         }      }   

תְפוּקָה
false true false 

הֶסבֵּר: ה iterator() השיטה מחזירה איטרטור על האלמנטים ברשימה ברצף הנכון היא לא מחזירה אובייקט List או ListIterator. א ListIterator ניתן להשיג על ידי הפעלת שיטת listIterator.


תוכנית 4: חריגה של התחלה ועצירה של שרשור

Java
   class   ThreadEx     extends     Thread   {      public     void     run  ()      {      System  .  out  .  print  (  'Hello...'  );      }      public     static     void     main  (  String     args  []  )      {      ThreadEx     T1     =     new     ThreadEx  ();      T1  .  start  ();      T1  .  stop  ();      T1  .  start  ();      }   }   

תְפוּקָה:

 Run Time Exception   

הֶסבֵּר: לא ניתן לפתוח שרשור יותר מפעם אחת. יִעוּד הַתחָלָה() שיטה על חוט נעצר גורם UnlegalThreadStateException .