logo

Salida del programa Java | Conjunto 6

Nivel de dificultad: Intermedio

Predecir el resultado de los siguientes programas Java.

vb y vb neto

Programa 1: Encadenamiento de constructores



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();  } } 

Producción
a b c 

Explicación: Cuando se crea un 'tercer' objeto antes de llamar al constructor predeterminado de Tercero class el constructor predeterminado de la superclase, es decir Segundo se llama a la clase y luego nuevamente antes del constructor predeterminado de la superclase constructor predeterminado de Primero se llama clase. Y por tanto la salida es del orden a b c.


Programa 2: Inicialización de variables y ejecución 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);  } } 

Producción
10 200 400 

Explicación: Dado que en la clase 'Segunda' no tiene su propia 'i', la variable se hereda de la superclase. También se llama al constructor de padre cuando creamos un objeto de Segundo.


Programa 3: instancia de con iteradores

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);   }  } 

Producción
false true false

Explicación: El iterador() El método devuelve un iterador sobre los elementos de la lista en la secuencia adecuada, no devuelve una Lista o un objeto ListIterator. A ListaIterador se puede obtener invocando el método listIterator.

¿Qué es el escritorio ini?


Programa 4: Excepción de inicio y detención de subprocesos

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();  } } 

Producción:

Run Time Exception  

Explicación: Un hilo no se puede iniciar más de una vez. Vocación comenzar() método en un hilo detenido causas Excepción de estado de hilo ilegal .