Sortida del programa Java | Set 6
Grau de dificultat: Mitjà
Prediu la sortida dels següents programes Java.
Programa 1: Constructor Chaining
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 (); } }
Sortida
a b c
Explicació: Quan es crea un objecte "Tercer" abans de cridar al constructor predeterminat de Tercer class el constructor predeterminat de la superclasse, és a dir. Segon s'anomena classe i després de nou abans del constructor predeterminat de la superclasse del constructor predeterminat de Primer s'anomena classe. I, per tant, la sortida és de l'ordre a b c.
Programa 2: Inicialització de variables i execució del constructor
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 ); } }
Sortida
10 200 400
Explicació: Com que a la classe "Segona" no té la seva pròpia "i", la variable s'hereta de la superclasse. També es diu el constructor del pare quan creem un objecte de Segon.
Programa 3: instància d'iteradors
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 ); } }
Sortida
false true false
Explicació: El iterador() El mètode retorna un iterador sobre els elements de la llista en la seqüència adequada, no retorna un objecte List o ListIterator. A ListIterator es pot obtenir invocant el mètode listIterator.
Programa 4: Excepció d'inici i parada del fil
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 (); } }
Sortida:
Run Time Exception
Explicació: No es pot iniciar un fil més d'una vegada. Trucant començar () mètode en un fil aturat provoca IllegalThreadStateException .