Zorluk Seviyesi: Orta
Aşağıdaki Java Programlarının Çıktısını Tahmin Edin.
gb kaç mb
Program 1: Yapıcı Zincirleme
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(); } }
Çıkış
a b c
Açıklama: Varsayılan kurucuyu çağırmadan önce 'Üçüncü' bir nesne oluşturulduğunda Üçüncü süper sınıfın varsayılan kurucusunu sınıflayın, yani. Saniye sınıf çağrılır ve ardından süper sınıfın varsayılan yapıcısından önce tekrar varsayılan kurucu Birinci sınıf çağrılır. Ve dolayısıyla çıktı a b c sırasına göredir.
Program 2: Değişken Başlatma ve Yapıcının Yürütülmesi
Javaclass 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); } }
Çıkış
10 200 400
Açıklama: 'İkinci' sınıfta kendi 'i'si olmadığından değişken süper sınıftan miras alınır. Ayrıca parent öğesinin yapıcısı da bir nesne oluşturduğumuzda çağrılır. Saniye.
Program 3: Yineleyicilerle Instanceof
Javaimport 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); } }
Çıkış
false true false
Açıklama: yineleyici() yöntemi, listedeki öğeler üzerinde uygun sırayla bir yineleyici döndürür, bir List veya ListIterator nesnesi döndürmez. A ListeYineleyici listIterator yöntemi çağrılarak elde edilebilir.
java liste düğümü
Program 4: İş Parçacığı Başlatma ve Durdurma İstisnası
Javaclass 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(); } }
Çıkış:
Run Time Exception
Açıklama: Bir iş parçacığı birden fazla başlatılamaz. Arama başlangıç() durdurulmuş bir iş parçacığında yöntem neden olur YasadışıThreadStateException .