JavaRush /جاوا بلاگ /Random-SD /جاوا ڊولپر لاءِ انٽرويوز کان سوالن ۽ جوابن جو تجزيو. حصو ...

جاوا ڊولپر لاءِ انٽرويوز کان سوالن ۽ جوابن جو تجزيو. حصو 14

گروپ ۾ شايع ٿيل
آتش بازي! دنيا مسلسل حرڪت ڪري رهي آهي ۽ اسان مسلسل حرڪت ۾ آهيون. اڳي، جاوا ڊولپر ٿيڻ لاءِ، ٿورو جاوا نحو کي ڄاڻڻ ڪافي هو، باقي اچي ويندو. وقت گذرڻ سان گڏ، جاوا ڊولپر بڻجڻ لاءِ گهربل علم جي سطح خاص طور تي وڌي وئي آهي، جيئن مقابلو آهي، جيڪو گهربل علم جي هيٺين بار کي اڳتي وڌڻ جاري رکي ٿو. جاوا ڊولپر لاءِ انٽرويوز کان سوالن ۽ جوابن جو تجزيو.  حصو 14 - 1جيڪڏهن توهان واقعي هڪ ڊولپر بڻجڻ چاهيو ٿا، ته توهان کي ان کي سمجهڻ جي ضرورت آهي ۽ توهان وانگر نئين سکندڙن جي وچ ۾ بيهڻ لاءِ مڪمل تياري ڪرڻ گهرجي. اڄ اسين ڇا ڪنداسين، يعني، اسان 250+ سوالن جو تجزيو جاري رکنداسين . پوئين مضمونن ۾، اسان سڀني جونيئر سطح جي سوالن جو جائزو ورتو، ۽ اڄ اسان وچولي سطح جي سوالن تي غور ڪنداسين. جيتوڻيڪ مان نوٽ ڪريان ٿو ته اهي 100 سيڪڙو وچولي سطح جا سوال نه آهن، پر توهان انهن مان گهڻا ملن ٿا هڪ جونيئر-سطح جي انٽرويو ۾، ڇو ته اهڙين انٽرويوز ۾ توهان جي نظرياتي بنياد جي تفصيلي جاچ ٿيندي آهي، جڏهن ته هڪ مڊل شاگرد لاءِ. سوال هن جي تجربي جي تحقيق تي وڌيڪ ڌيان ڏئي رهيا آهن. جاوا ڊولپر لاءِ انٽرويوز کان سوالن ۽ جوابن جو تجزيو.  حصو 14 - 2پر، اڳتي وڌڻ جي بغير، اچو ته شروع ڪريون.

وچولي

عام آهن

1. OOP جا فائدا ۽ نقصان ڪهڙا آهن جڏهن طريقيڪار/فعل پروگرامنگ جي مقابلي ۾؟

اتي هي سوال جوينيئر لاء سوالن جي تجزيي ۾ هو، ۽ ان جي مطابق مون اڳ ۾ ئي جواب ڏنو آهي. ھي سوال ۽ ان جا جواب مضمون جي ھن حصي ۾ ڏسو ، سوال 16 ۽ 17.

2. ڪھڙي ريت مجموعو ٺاھڻ کان مختلف آھي؟

OOP ۾، شين جي وچ ۾ رابطي جا ڪيترائي قسم آهن، "Has-A Relationship" جي عام تصور تحت متحد. اهو تعلق ظاهر ڪري ٿو ته هڪ شئي ٻي شئي جو جزو آهي. ساڳئي وقت، هن رشتي جا ٻه ذيلي قسم آهن: ٺهڪندڙ - هڪ شئي ٻي شئي ٺاهي ٿي ۽ ٻي شئي جي زندگي جو دارومدار خالق جي زندگي تي آهي. Aggregation - هڪ شئي حاصل ڪري ٿي هڪ لنڪ (پوائنٽر) هڪ ٻي شئي جي تعميراتي عمل دوران (هن صورت ۾، ٻي شئي جي زندگيءَ جو دارومدار پيدا ڪندڙ جي زندگيءَ تي نه هوندو آهي). بهتر سمجھڻ لاءِ، اچو ته ھڪ خاص مثال ڏسو. اسان وٽ ڪار جو هڪ خاص ڪلاس آهي - ڪار ، جنهن ۾ موڙ ۾ قسم جا اندروني شعبا آهن - انجڻ ۽ مسافرن جي هڪ فهرست - List<Passenger> ، ۽ ان ۾ حرڪت شروع ڪرڻ جو طريقو پڻ آهي - startMoving() :
public class Car {

 private Engine engine;
 private List<Passenger> passengers;

 public Car(final List<Passenger> passengers) {
   this.engine = new Engine();
   this.passengers = passengers;
 }

 public void addPassenger(Passenger passenger) {
   passengers.add(passenger);
 }

 public void removePassengerByIndex(Long index) {
   passengers.remove(index);
 }

 public void startMoving() {
   engine.start();
   System.out.println("Машина начала своё движение");
   for (Passenger passenger : passengers) {
     System.out.println("В машине есть пассажир - " + passenger.getName());
   }
 }
}
انهي صورت ۾، ڪمپوزيشن ڪار ۽ انجڻ جي وچ ۾ تعلق آهي ، ڇاڪاڻ ته ڪار جي ڪارڪردگي سڌو سنئون انجڻ جي اعتراض جي موجودگي تي منحصر آهي، ڇاڪاڻ ته جيڪڏهن انجڻ = null ، پوء اسان کي هڪ NullPointerException حاصل ڪنداسين . موڙ ۾، هڪ انجڻ هڪ مشين کان سواء موجود نه ٿي سگهي ٿي (اسان کي مشين کان سواء هڪ انجڻ جي ضرورت ڇو آهي؟) ۽ هڪ وقت ۾ ڪيترن ئي مشينن سان واسطو نٿو رکي سگهي. هن جو مطلب اهو آهي ته جيڪڏهن اسان ڪار اعتراض کي حذف ڪريون ٿا، انجڻ جي اعتراض لاء وڌيڪ حوالا نه هوندا ، ۽ اهو جلدي گندي ڪليڪٽر طرفان ختم ڪيو ويندو . جئين توهان ڏسي سگهو ٿا، هي تعلق تمام سخت (مضبوط) آهي. Aggregation ڪار ۽ مسافر جي وچ ۾ لاڳاپو آهي ، ڇاڪاڻ ته ڪار جي ڪارڪردگي ڪنهن به طريقي سان مسافر جي قسم جي شين ۽ انهن جي تعداد تي منحصر ناهي. اهي يا ته ڪار کي ڇڏي سگهن ٿا - پاسنجر بي انڊيڪس (ڊگهي انڊيڪس) کي هٽائي ڇڏيو يا نوان داخل ڪريو - شامل ڪريو پيسنجر (مسافر مسافر) ، ان جي باوجود، ڪار صحيح طريقي سان ڪم ڪندي. موڙ ۾، مسافر شيون موجود ٿي سگھن ٿيون بغير ڪار جي اعتراض کان سواء . جئين توھان سمجھو ٿا، اھو ھڪڙو ڪمزور ڪنيڪشن آھي جيڪو اسان جي جوڙجڪ ۾ ڏسون ٿا. جاوا ڊولپر لاءِ انٽرويوز کان سوالن ۽ جوابن جو تجزيو.  حصو 14 - 3پر اهو سڀ ڪجهه نه آهي، هڪ شئي جيڪا هڪ ٻئي سان مجموعن سان ڳنڍيل هجي، ان جو پڻ ساڳئي وقت ٻين شين سان هڪ ڏنل تعلق هجي. مثال طور، توهان، هڪ جاوا شاگرد جي حيثيت ۾، ساڳئي وقت انگريزي، OOP ۽ logarithms ڪورسز ۾ داخلا وٺي رهيا آهيو، پر ساڳئي وقت توهان انهن جو انتهائي ضروري حصو نه آهيو، جنهن کان سواءِ عام ڪم ڪرڻ ناممڪن آهي (جهڙوڪ هڪ استاد).

3. توهان ڪهڙن GoF نمونن کي عملي طور استعمال ڪيو آهي؟ مثال ڏيو.

مون اڳ ۾ ئي هن سوال جو جواب ڏنو آهي، تنهنڪري مان صرف تجزيو جي لنڪ ڇڏيندس ، پهريون سوال ڏسو. مون کي هڪ شاندار چيٽ شيٽ آرٽيڪل پڻ مليو ڊزائن جي نمونن تي، جنهن کي آئون هٿ تي رکڻ جي صلاح ڏيان ٿو.

4. پراکسي اعتراض ڇا آهي؟ مثال ڏيو

هڪ پراکسي هڪ ساخت جي ڊيزائن جو نمونو آهي جيڪو توهان کي اجازت ڏئي ٿو ته خاص متبادل شيون، يا ٻين لفظن ۾، پراکسي شيون، حقيقي شين جي بدران. اهي پراڪسي شيون ڪالن کي اصل اعتراض ڏانهن روڪين ٿيون، ڪال کي اصل ڏانهن منتقل ٿيڻ کان اڳ يا بعد ۾ ڪجهه منطق داخل ڪرڻ جي اجازت ڏئي ٿي. جاوا ڊولپر لاءِ انٽرويوز کان سوالن ۽ جوابن جو تجزيو.  حصو 14 - 4پراکسي اعتراض استعمال ڪرڻ جا مثال:
  • ريموٽ پراکسي جي طور تي - استعمال ڪيو ويو جڏهن اسان کي ريموٽ اعتراض جي ضرورت آهي (هڪ اعتراض مختلف پتي جي جڳهه ۾) جنهن کي مقامي طور تي نمائندگي ڪرڻ جي ضرورت آهي. انهي صورت ۾، پراکسي ڪنيڪشن ٺاهڻ، انڪوڊنگ، ڊيڪوڊنگ، وغيره کي سنڀاليندو، جڏهن ته ڪلائنٽ ان کي استعمال ڪندو ڄڻ ته اهو مقامي جڳهه ۾ واقع اصل اعتراض هو.

  • هڪ مجازي پراکسي جي طور تي - استعمال ڪيو ويندو آهي جڏهن هڪ وسيلن جي شدت واري اعتراض جي ضرورت هجي. انهي صورت ۾، پراکسي اعتراض هڪ حقيقي اعتراض جي تصوير وانگر ڪم ڪري ٿو جيڪو اصل ۾ اڃا تائين موجود ناهي. جڏهن هڪ حقيقي درخواست (طريقو ڪال) هن اعتراض ڏانهن موڪليو ويو آهي، تڏهن ئي اصل اعتراض لوڊ ۽ طريقي سان عمل ڪندو آهي. هن طريقي کي سست شروعات پڻ سڏيو ويندو آهي؛ اهو تمام آسان ٿي سگهي ٿو، ڇاڪاڻ ته ڪجهه حالتن ۾ اصل شئي مفيد نه ٿي سگهي ٿي، ۽ پوء ان کي ٺاهڻ لاء ڪا به قيمت نه هوندي.

  • سيڪيورٽي پراکسي جي طور تي - استعمال ڪيو ويو جڏهن توهان کي ڪلائنٽ جي حقن جي بنياد تي ڪجهه اعتراض تائين رسائي کي ڪنٽرول ڪرڻ جي ضرورت آهي. اهو آهي، جيڪڏهن هڪ ڪلائنٽ غائب رسائي جي حقن سان اصل اعتراض تائين رسائي جي ڪوشش ڪندو، پراکسي ان کي روڪيندو ۽ ان کي اجازت نه ڏيندو.

اچو ته هڪ ورچوئل پراکسي جو هڪ مثال ڏسو: اسان وٽ ڪجهه هينڊلر انٽرفيس آهي:
public interface Processor {
 void process();
}
جنهن تي عمل درآمد تمام گھڻا وسيلا استعمال ڪري ٿو، پر ساڳئي وقت اهو استعمال نه ٿو ڪري سگهجي هر دفعي ايپليڪيشن شروع ٿيڻ تي:
public class HiperDifficultProcessor implements Processor {
 @Override
 public void process() {
   // некоторый сверхсложная обработка данных
 }
}
پراکسي ڪلاس:
public class HiperDifficultProcessorProxy implements Processor {
private HiperDifficultProcessor processor;

 @Override
 public void process() {
   if (processor == null) {
     processor = new HiperDifficultProcessor();
   }
   processor.process();
 }
}
اچو ته ان کي بنيادي طور تي هلون :
Processor processor = new HiperDifficultProcessorProxy();
// тут тяжеловсеного оригинального an object, ещё не сущетсвует
// но при этом есть an object, который его представляет и у которого можно вызывать его методы
processor.process(); // лишь теперь, an object оригинал был создан
مان نوٽ ڪريان ٿو ته ڪيترائي فريم ورڪ پراڪسنگ استعمال ڪندا آهن، ۽ بهار لاءِ هي هڪ اهم نمونو آهي (بهار ان کي اندر ۽ ٻاهر سان لڳايو ويندو آهي). هن نموني بابت وڌيڪ پڙهو هتي . جاوا ڊولپر لاءِ انٽرويوز کان سوالن ۽ جوابن جو تجزيو.  حصو 14 - 5

5. جاوا 8 ۾ ڪهڙي جدت جو اعلان ڪيو ويو آهي؟

جاوا 8 پاران پيش ڪيل جدت هن ريت آهن:
  • فنڪشنل انٽرفيس شامل ڪيا ويا آهن، پڙهو ته هي ڪهڙي قسم جو جانور آهي هتي .

  • Lambda ايڪسپريس، جيڪي ويجهڙائي سان لاڳاپيل آهن فنڪشنل انٽرفيس سان، انهن جي استعمال بابت وڌيڪ پڙهو هتي .

  • شامل ڪيو ويو اسٽريم API ڊيٽا گڏ ڪرڻ جي آسان پروسيسنگ لاءِ، وڌيڪ پڙهو هتي .

  • طريقن سان لنڪ شامل ڪيا ويا .

  • ForEach() طريقو شامل ڪيو ويو آهي Iterable انٽرفيس ۾ .

  • java.time پيڪيج ۾ نئين تاريخ ۽ وقت API شامل ڪيو ويو ، تفصيلي تجزيو هتي .

  • بهتر ڪيل سمورو API .

  • هڪ اختياري ريپر ڪلاس شامل ڪرڻ ، جيڪو صحيح طور تي null قدرن کي سنڀالڻ لاءِ استعمال ڪيو ويندو آهي، توهان ڳولي سگهو ٿا هڪ بهترين مضمون هن موضوع تي هتي .

  • جامد ۽ ڊفالٽ طريقن کي استعمال ڪرڻ لاءِ انٽرفيس جي صلاحيت شامل ڪرڻ (جيڪو، جوهر ۾، جاوا کي ڪيترن ئي ورثي جي ويجهو آڻيندو آهي)، وڌيڪ تفصيل هتي .

  • ڪليڪشن(removeIf(), spliterator()) ڪلاس ۾ نوان طريقا شامل ڪيا ويا .

  • جاوا ڪور ۾ معمولي بهتري.

جاوا ڊولپر لاءِ انٽرويوز کان سوالن ۽ جوابن جو تجزيو.  حصو 14 - 6

6. هاءِ ڪوهيشن ۽ لو کپلنگ ڇا آهن؟ مثال ڏيو.

High Cohesion يا High Cohesion اهو تصور آهي جڏهن هڪ مخصوص طبقي ۾ اهڙا عنصر شامل هوندا آهن جيڪي هڪ ٻئي سان ويجهڙائيءَ سان لاڳاپيل هجن ۽ انهن جي مقصد لاءِ گڏيل هجن. مثال طور، صارف طبقي ۾ سڀني طريقن کي صارف جي رويي جي نمائندگي ڪرڻ گهرجي. هڪ طبقي ۾ گهٽ هڪجهڙائي آهي جيڪڏهن ان ۾ غير لاڳاپيل عناصر شامل آهن. مثال طور، يوزر ڪلاس جنهن ۾ اي ميل ايڊريس جي تصديق جو طريقو:
public class User {
private String name;
private String email;

 public String getName() {
   return this.name;
 }

 public void setName(final String name) {
   this.name = name;
 }

 public String getEmail() {
   return this.email;
 }

 public void setEmail(final String email) {
   this.email = email;
 }

 public boolean isValidEmail() {
   // некоторая логика валидации емейла
 }
}
صارف ڪلاس صارف جي اي ميل پتي کي محفوظ ڪرڻ لاء ذميوار ٿي سگھي ٿو، پر ان جي تصديق ڪرڻ يا اي ميل موڪلڻ لاء نه. تنهن ڪري، اعلي مطابقت حاصل ڪرڻ لاء، اسان تصديق واري طريقي کي الڳ يوٽيلٽي ڪلاس ۾ منتقل ڪريون ٿا:
public class EmailUtil {
 public static boolean isValidEmail(String email) {
   // некоторая логика валидации емейла
 }
}
۽ اسان ان کي ضرورت مطابق استعمال ڪندا آهيون (مثال طور، صارف کي بچائڻ کان اڳ). گھٽ جوڙڻ يا گھٽ جوڙڻ ھڪڙو تصور آھي جيڪو بيان ڪري ٿو گھٽ وچولي انحصار سافٽ ويئر ماڊلز جي وچ ۾. لازمي طور تي، باهمي انحصار اهو آهي ته هڪ کي تبديل ڪرڻ لاء ٻئي کي تبديل ڪرڻ جي ضرورت آهي. ٻن طبقن ۾ هڪ مضبوط جوڙيل آهي (يا تنگ جوڙيندڙ) جيڪڏهن اهي ويجهي سان لاڳاپيل آهن. مثال طور، ٻه ڪنڪريٽ طبقا جيڪي هڪ ٻئي جي حوالي سان ذخيرو ڪن ٿا ۽ هڪ ٻئي جي طريقن کي سڏين ٿا. لوز سان ملندڙ طبقن کي ترقي ۽ برقرار رکڻ آسان آهي. جيئن ته اهي هڪ ٻئي کان آزاد آهن، انهن کي ترقي يافته ۽ متوازي ۾ آزمائي سگهجي ٿو. ان کان علاوه، انهن کي تبديل ڪري سگهجي ٿو ۽ هڪ ٻئي کي متاثر ڪرڻ کان سواء تازه ڪاري ڪري سگهجي ٿو. اچو ته هڪ مثال ڏسو مضبوط گڏيل طبقن جو. اسان وٽ ڪجھ شاگرد ڪلاس آھن:
public class Student {
 private Long id;
 private String name;
 private List<Lesson> lesson;
}
جنهن ۾ سبقن جي فهرست ڏنل آهي:
public class Lesson {
 private Long id;
 private String name;
 private List<Student> students;
}
هر سبق ۾ شاگردن جي شرڪت لاءِ هڪ لنڪ شامل آهي. ناقابل یقین حد تائين مضبوط گرفت، ڇا توهان نه سوچيو؟ توهان ان کي ڪيئن گهٽائي سگهو ٿا؟ پهرين، اچو ته پڪ ڪريون ته شاگردن وٽ مضمونن جي فهرست نه آهي، پر انهن جي سڃاڻپ ڪندڙن جي هڪ فهرست:
public class Student {
 private Long id;
 private String name;
 private List<Long> lessonIds;
}
ٻيو، درسي ڪلاس کي سڀني شاگردن جي باري ۾ ڄاڻڻ جي ضرورت ناهي، تنهنڪري اچو ته انهن جي فهرست کي مڪمل طور تي حذف ڪريون:
public class Lesson {
 private Long id;
 private String name;
}
تنهنڪري اهو تمام آسان ٿي ويو، ۽ ڪنيڪشن تمام گهڻو ڪمزور ٿي ويو، ڇا توهان نه سوچيو؟ جاوا ڊولپر لاءِ انٽرويوز کان سوالن ۽ جوابن جو تجزيو.  حصو 14 - 7

او او پي

7. توهان جاوا ۾ ڪيترن ئي ورثي کي ڪيئن لاڳو ڪري سگهو ٿا؟

هڪ کان وڌيڪ وراثت اعتراض تي مبني تصور جي هڪ خاصيت آهي جتي هڪ طبقو هڪ کان وڌيڪ والدين طبقي کان ملڪيت حاصل ڪري سگهي ٿو. مسئلو تڏهن پيدا ٿئي ٿو جڏهن سپر ڪلاس ۽ ذيلي ڪلاس ۾ ساڳي نشاني سان طريقا موجود آهن. جڏهن هڪ طريقي کي سڏيندو آهي، مرتب ڪندڙ اهو طئي نٿو ڪري سگهي ته ڪهڙي طبقي جي طريقي کي سڏيو وڃي، ۽ جيتوڻيڪ جڏهن ڪلاس ميٿڊ کي سڏيو وڃي ته ترجيح وٺندي. تنهن ڪري، جاوا ڪيترن ئي ورثي جي حمايت نٿو ڪري! پر اتي هڪ قسم جي لڪير آهي، جنهن بابت اسان اڳتي ڳالهائينداسين. جيئن مون اڳ ۾ ذڪر ڪيو آهي، جاوا 8 جي ڇڏڻ سان، ڊفالٽ طريقن جي صلاحيت انٽرفيس ۾ شامل ڪئي وئي . جيڪڏهن انٽرفيس تي عمل ڪرڻ وارو طبقو هن طريقي کي اوور رائڊ نٿو ڪري، ته پوءِ هي ڊفالٽ لاڳو ڪيو ويندو (اهو ضروري ناهي ته ڊفالٽ طريقي کي اوور رائڊ ڪيو وڃي، جهڙوڪ هڪ خلاصو لاڳو ڪرڻ). انهي حالت ۾، اهو ممڪن آهي ته هڪ طبقي ۾ مختلف انٽرفيس کي لاڳو ڪرڻ ۽ انهن جي ڊفالٽ طريقن کي استعمال ڪريو. اچو ته هڪ مثال ڏسو. اسان وٽ ڪجهه فلائر انٽرفيس آهي، هڪ ڊفالٽ fly() طريقي سان :
public interface Flyer {
 default void fly() {
   System.out.println("Я лечу!!!");
 }
}
هلائيندڙ انٽرفيس، ڊفالٽ walk() طريقي سان :
public interface Walker {
 default void walk() {
   System.out.println("Я хожу!!!");
 }
}
ترڻ وارو انٽرفيس، swim() طريقي سان :
public interface Swimmer {
 default void swim() {
   System.out.println("Я плыву!!!");
 }
}
خير، هاڻي اچو ته اهو سڀ ڪجهه هڪ بتھ ڪلاس ۾ لاڳو ڪريون:
public class Duck implements Flyer, Swimmer, Walker {
}
۽ اچو ته اسان جي بتھ جا سڀئي طريقا هلون:
Duck donald = new Duck();
donald.walk();
donald.fly();
donald.swim();
ڪنسول ۾ اسان حاصل ڪنداسين:
مان وڃان ڀو!!! مان پرواز ڪري رهيو آهيان !!! مان ترڻ آهيان!!!
هن جو مطلب اهو آهي ته اسان صحيح طور تي ڪيترن ئي ورثي کي ظاهر ڪيو آهي، جيتوڻيڪ اهو اهو ناهي. جاوا ڊولپر لاءِ انٽرويوز کان سوالن ۽ جوابن جو تجزيو.  حصو 14 - 8مان اهو به نوٽ ڪريان ٿو ته جيڪڏهن ڪو ڪلاس انٽرفيس کي ڊفالٽ طريقن سان لاڳو ڪري ٿو جن ۾ ساڳين طريقن جا نالا آهن ۽ انهن طريقن ۾ ساڳيون دليلون آهن، ته پوءِ مرتب ڪندڙ غير مطابقت جي شڪايت ڪرڻ شروع ڪندو، ڇاڪاڻ ته اهو نه ٿو سمجهي ته ڪهڙي طريقي کي استعمال ڪرڻ جي ضرورت آهي. اتي ڪيترائي طريقا آھن:
  • انٽرفيس ۾ طريقن کي تبديل ڪريو ته جيئن اهي هڪ ٻئي کان مختلف هجن.
  • لاڳو ڪرڻ واري طبقي ۾ اهڙن تڪراري طريقن کي ختم ڪريو.
  • ھڪڙي طبقي مان ورثي ۾ آھي جيڪو انھن متضاد طريقن کي لاڳو ڪري ٿو (پوء توھان جو طبقو ان جي عمل درآمد کي استعمال ڪندو).

8. فائنل، آخرڪار ۽ فائنل () طريقن جي وچ ۾ ڇا فرق آهي؟

فائنل هڪ لفظ آهي جيڪو ڪلاس، طريقو، يا متغير تي رڪاوٽ رکڻ لاء استعمال ڪيو ويندو آهي، هڪ رڪاوٽ معني:
  • متغير لاءِ - شروعاتي شروعات کان پوءِ، متغير کي ٻيهر بيان نٿو ڪري سگھجي.
  • هڪ طريقو لاء، طريقو هڪ ذيلي ڪلاس (جانشين طبقي) ۾ ختم نه ٿو ڪري سگهجي.
  • هڪ طبقي لاءِ - ڪلاس کي وراثت ۾ نٿو ملي.
آخر ۾ ڪوڊ جي بلاڪ کان اڳ هڪ لفظ آهي، استعمال ڪيو ويندو آهي جڏهن استثنا کي هٿي وٺندي، ڪوشش بلاڪ سان گڏ ، ۽ گڏو گڏ (يا هڪ ٻئي سان) هڪ ڪيچ بلاڪ سان. هن بلاڪ ۾ ڪوڊ ڪنهن به صورت ۾ عمل ڪيو ويندو آهي، قطع نظر ته هڪ استثنا اڇلائي يا نه. آرٽيڪل جي هن حصي ۾ ، سوال 104 ۾، غير معمولي حالتون جن ۾ هن بلاڪ تي عمل نه ڪيو ويندو، بحث ڪيو ويو آهي. finalize() Object ڪلاس جو هڪ طريقو آهي ، جنهن کي سڏيو ويندو آهي ان کان اڳ جو هر شئي کي گاربيج ڪليڪٽر طرفان ڊليٽ ڪيو وڃي، هن طريقي کي (آخري) سڏيو ويندو، ۽ استعمال ٿيل وسيلن کي صاف ڪرڻ لاءِ استعمال ڪيو ويندو آهي. آبجیکٹ ڪلاس جي طريقن بابت وڌيڪ معلومات لاءِ جيڪي هر شئي کي ورثي ۾ ملي ٿي، مضمون جي هن حصي ۾ سوال 11 ڏسو. خير، اهو آهي جتي اسان اڄ ختم ڪنداسين. ايندڙ حصي ۾ ملنداسين! جاوا ڊولپر لاءِ انٽرويوز کان سوالن ۽ جوابن جو تجزيو.  حصو 14 - 9
سيريز ۾ ٻيا مواد:
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION