Ausgabe des Java-Programms | Satz 6
Schwierigkeitsgrad: Mittel
Sagen Sie die Ausgabe der folgenden Java-Programme voraus.
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
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 ); } }
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
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 ); } }
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.
Programm 4: Thread-Start- und Stopp-Ausnahme
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 (); } }
Ausgabe:
Run Time Exception
Erläuterung: Ein Thread kann nicht mehr als einmal gestartet werden. Berufung Start() Methode auf einem gestoppten Thread verursacht IllegalThreadStateException .