logo

إخراج برنامج جافا | مجموعة 7

مستوى الصعوبة : متوسط ​​توقع مخرجات برامج Java التالية. البرنامج 1 : Java
public class Calculator {  int num = 100;  public void calc(int num) { this.num = num * 10; }  public void printNum() { System.out.println(num); }  public static void main(String[] args)  {  Calculator obj = new Calculator();  obj.calc(2);  obj.printNum();  } } 
خيارات : أ) 20 ب) 100 ج) 1000 د) 2 الجواب: أ) 20 توضيح : هنا اسم متغير مثيل الفئة (num) هو نفسه احسب () اسم المتغير المحلي للطريقة (num). لذلك للإشارة إلى متغير مثيل الفئة من احسب () طريقة هذا يتم استخدام الكلمة الرئيسية. هكذا في البيان هذا العدد = العدد * 10 في أ يمثل المتغير المحلي للطريقة التي تبلغ قيمتها 2 و this.num يمثل متغير مثيل الفئة الذي تبلغ قيمته الأولية 100. الآن رقم الطباعة () الطريقة لأنها لا تحتوي على متغير محلي اسمه هو نفس متغير مثيل الفئة حتى نتمكن من استخدامه مباشرة في أ للإشارة إلى متغير المثيل بالرغم من ذلك this.num يمكن استخدامها.   البرنامج 2 : Java
public class MyStuff {  String name;  MyStuff(String n) { name = n; }  public static void main(String[] args)  {  MyStuff m1 = new MyStuff('guitar');  MyStuff m2 = new MyStuff('tv');  System.out.println(m2.equals(m1));  }  @Override  public boolean equals(Object obj)  {  MyStuff m = (MyStuff) obj;  if (m.name != null) { return true; }  return false;  } } 
خيارات : أ) الناتج صحيح ويفي MyStuff بعقد Object.equals(). ب) الإخراج خاطئ ويفي MyStuff بعقد Object.equals(). ج) الناتج صحيح ولا يفي MyStuff بعقد Object.equals(). د) الإخراج خاطئ ولا يفي MyStuff بعقد Object.equals(). إجابة : ج) الناتج صحيح ولا يفي MyStuff بعقد Object.equals(). توضيح : مثل يساوي (كائن كائن) الطريقة في فئة الكائن تقارن كائنين على أساس علاقة التكافؤ. لكننا هنا نؤكد فقط أن الكائن فارغ أم لا، لذا فهو غير مكتمل كائن. يساوي () عقد. مثل م1 ليست فارغة صحيحا سيتم طباعتها.   البرنامج 3 : Java
class Alpha {  public String type = 'a ';  public Alpha() { System.out.print('alpha '); } } public class Beta extends Alpha {  public Beta() { System.out.print('beta '); }  void go()  {  type = 'b ';  System.out.print(this.type + super.type);  }  public static void main(String[] args)  {  new Beta().go();  } } 
خيارات : أ) ألفا بيتا ب ب ب) ألفا بيتا أ ب ج) بيتا ألفا ب ب د) بيتا ألفا أ ب إجابة : أ) ألفا بيتا ب توضيح : البيان بيتا الجديدة ().go () ينفذ على مرحلتين. في المرحلة الأولى بيتا يتم استدعاء منشئ الطبقة. لا يوجد عضو مثيل موجود في بيتا فصل. والآن بيتا يتم تنفيذ منشئ الفئة. مثل بيتا يمتد الصف ألفا فئة لذلك يذهب الاتصال إلى ألفا مُنشئ الفئة كعبارة أولى افتراضيًا (وضعها المترجم). ممتاز() في بيتا منشئ الطبقة. الآن كمتغير مثيل واحد ( يكتب ) موجود في ألفا فئة لذلك سوف تحصل على الذاكرة والآن ألفا يتم تنفيذ مُنشئ الفئة ثم استدعاء العودة إلى بيتا البيان التالي منشئ الطبقة. لذا ألفا بيتا تمت طباعته. في المرحلة الثانية يذهب() يتم استدعاء الأسلوب على هذا الكائن. حيث أن هناك متغير واحد فقط ( يكتب ) في الكائن الذي قيمته أ . لذلك سيتم تغييره إلى ب وطبع مرتين. ال الكلمة الرئيسية الفائقة هنا لا فائدة.   البرنامج 4 : Java
public class Test {  public static void main(String[] args)  {  StringBuilder s1 = new StringBuilder('Java');  String s2 = 'Love';  s1.append(s2);  s1.substring(4);  int foundAt = s1.indexOf(s2);  System.out.println(foundAt);  } } 
خيارات : أ) -1 ب) 3 ج) 4 د) أ StringIndexOutOfBoundsException يتم طرحها في وقت التشغيل. إجابة : ج) 4 توضيح : إلحاق (سلسلة سلسلة) طريقة ربط str إلى S1 . ال سلسلة فرعية (فهرس كثافة العمليات) تقوم الطريقة بإرجاع السلسلة من الفهرس المحدد إلى النهاية. ولكن نظرًا لعدم وجود أي متغير سلسلة لتخزين السلاسل التي تم إرجاعها، فسيتم تدميرها الآن فهرس (سلسلة s2) طريقة إرجاع فهرس التواجد الأول لـ s2 . لذلك تتم طباعة 4 كـ s1='JavaLove'.   البرنامج 5 : Java
class Writer {  public static void write()  {  System.out.println('Writing...');  } } class Author extends Writer {  public static void write()  {  System.out.println('Writing book');  } } public class Programmer extends Author {  public static void write()  {  System.out.println('Writing code');  }  public static void main(String[] args)  {  Author a = new Programmer();  a.write();  } } 
خيارات : أ) الكتابة... ب) كتابة الكتاب ج) كتابة التعليمات البرمجية د) فشل التجميع إجابة : ب) كتابة الكتاب توضيح : نظرًا لأنه لا يمكن تجاوز الأساليب الثابتة، فلا يهم كائن الفئة الذي تم إنشاؤه. مثل أ هو أ مؤلف النوع المشار إليه دائمًا مؤلف تسمى طريقة الفصل . إذا قمنا بإزالة يكتب() الطريقة من مؤلف الطبقة ثم الكاتب تسمى طريقة الفصل باسم مؤلف يمتد الصف الكاتب فصل.