Sortie du programme Java | Ensemble 6
Niveau de difficulté : intermédiaire
Prédisez la sortie des programmes Java suivants.
Programme 1 : Chaînage de constructeurs
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 (); } }
Sortir
a b c
Explication: Lorsqu'un 'Troisième' objet est créé avant d'appeler le constructeur par défaut de Troisième class le constructeur par défaut de la super classe, c'est-à-dire Deuxième la classe est appelée, puis à nouveau avant le constructeur par défaut du constructeur par défaut de la super classe D'abord la classe est appelée. Et donc la sortie est dans l’ordre a b c.
Programme 2 : Initialisation des variables et exécution du constructeur
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 ); } }
Sortir
10 200 400
Explication: Puisque dans la classe 'Deuxième', elle n'a pas son propre 'i', la variable est héritée de la super classe. De plus, le constructeur de parent est appelé lorsque nous créons un objet de Deuxième.
Programme 3 : instanceof avec itérateurs
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 ); } }
Sortir
false true false
Explication: Le itérateur() La méthode renvoie un itérateur sur les éléments de la liste dans le bon ordre, elle ne renvoie pas d'objet List ou ListIterator. UN ListItérateur peut être obtenu en appelant la méthode listIterator.
Programme 4 : exception de démarrage et d'arrêt du thread
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 (); } }
Sortir:
Run Time Exception
Explication: Un fil de discussion ne peut pas être démarré plus d'une fois. Appel commencer() méthode sur un thread arrêté provoque IllegalThreadStateException .