Schwierigkeitsgrad: Mittel
Sagen Sie die Ausgabe der folgenden Java-Programme voraus.
Terminal Kali Linux
Programm 1: Konstruktorverkettung
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(); } }
Ausgabe
a b c
Erläuterung: Wenn ein „drittes“ Objekt erstellt wird, bevor der Standardkonstruktor von aufgerufen wird Dritte Klasse ist der Standardkonstruktor der Superklasse, d. h. Zweite Die Klasse wird aufgerufen und dann noch einmal vor dem Standardkonstruktor der Superklasse Erste Klasse heißt. Und daher erfolgt die Ausgabe in der Reihenfolge a b c.
Programm 2: Variableninitialisierung und Konstruktorausführung
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); } }
Ausgabe
10 200 400
Erläuterung: Da es in der „zweiten“ Klasse kein eigenes „i“ gibt, wird die Variable von der Superklasse geerbt. Auch der Konstruktor von parent wird aufgerufen, wenn wir ein Objekt von erstellen Zweite.
Programm 3: Instanz von mit Iteratoren
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); } }
Ausgabe
false true false
Erläuterung: Der Iterator() Die Methode gibt einen Iterator über die Elemente in der Liste in der richtigen Reihenfolge zurück, sie gibt jedoch kein List- oder ListIterator-Objekt zurück. A ListIterator kann durch Aufrufen der listIterator-Methode abgerufen werden.
tostring Java-Methode
Programm 4: Thread-Start- und Stopp-Ausnahme
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(); } }
Ausgabe:
Run Time Exception
Erläuterung: Ein Thread kann nicht mehr als einmal gestartet werden. Berufung Start() Methode auf einem gestoppten Thread verursacht IllegalThreadStateException .