Ieșirea programului Java | Setul 6
Nivel de dificultate: Intermediar
Preziceți rezultatul următoarelor programe Java.
Programul 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 (); } }
Ieșire
a b c
Explicaţie: Când un obiect „Al treilea” este creat înainte de a apela constructorul implicit al Treilea class constructorul implicit al superclasei, adică Doilea clasa este apelată și apoi din nou înaintea constructorului implicit al super-clasei constructorului implicit al Primul se numește clasa. Și, prin urmare, ieșirea este în ordinea a b c.
Programul 2: Inițializarea variabilelor și execuția constructorului
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 ); } }
Ieșire
10 200 400
Explicaţie: Deoarece în clasa „A doua” nu are propriul „i”, variabila este moștenită din superclasa. De asemenea, constructorul parent este numit atunci când creăm un obiect de Doilea.
Programul 3: instanță cu Iteratoare
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 ); } }
Ieșire
false true false
Explicaţie: The iterator() metoda returnează un iterator peste elementele din listă în ordinea corectă, nu returnează un obiect List sau ListIterator. O ListIterator poate fi obținut prin invocarea metodei listIterator.
Programul 4: Excepție de pornire și oprire a firului
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 (); } }
Ieșire:
Run Time Exception
Explicaţie: Un thread nu poate fi pornit de mai multe ori. Apel început() metoda pe un fir oprit cauze IllegalThreadStateException .