Výstup programu Java | Súprava 6
Úroveň obtiažnosti: Stredne pokročilá
Predpovedajte výstup nasledujúcich programov Java.
Program 1: Reťazenie konštruktorov
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 (); } }
Výstup
a b c
Vysvetlenie: Keď sa vytvorí „tretí“ objekt pred volaním predvoleného konštruktora Po tretie class predvolený konštruktor supertriedy t.j. Po druhé trieda sa volá a potom znova pred predvoleným konštruktorom supertriedy predvoleným konštruktorom Po prvé trieda sa volá. And hence the output is in the order a b c.
Program 2: Inicializácia premenných a spustenie konštruktora
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 ); } }
Výstup
10 200 400
Vysvetlenie: Keďže v triede 'Second' nemá svoje vlastné 'i', premenná sa zdedí z nadtriedy. Keď vytvárame objekt, volá sa aj konštruktor rodiča Po druhé.
Program 3: instanceof s iterátormi
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 ); } }
Výstup
false true false
Vysvetlenie: The iterátor() metóda vracia iterátor nad prvkami v zozname v správnom poradí, nevracia objekt List alebo ListIterator. A ListIterator možno získať vyvolaním metódy listIterator.
Program 4: Výnimka spustenia a zastavenia vlákna
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 (); } }
výstup:
Run Time Exception
Vysvetlenie: A thread cannot be started more than once. Volanie začať () spôsob na zastavenom vlákne spôsobuje IllegalThreadStateException .