logo

Utdata fra Java-program | Sett 6

Vanskelighetsgrad: Middels

Forutsi produksjonen av følgende Java-programmer.

forskjell på is og snø

Program 1: Konstruktørkjeding



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

Produksjon
a b c 

Forklaring: Når et 'tredje' objekt opprettes før standardkonstruktøren til Tredje klasse standardkonstruktøren til superklassen, dvs. Sekund klasse kalles og så igjen før standardkonstruktøren til superklassens standardkonstruktør av Først klasse kalles. Og derfor er utgangen i rekkefølgen a b c.


Program 2: Variabel initialisering og konstruktørutførelse

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

Produksjon
10 200 400 

Forklaring: Siden den i 'Andre'-klassen ikke har sin egen 'i', er variabelen arvet fra superklassen. Også konstruktøren av overordnet kalles når vi lager et objekt av Sekund.


Program 3: forekomst av med Iteratorer

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

Produksjon
false true false

Forklaring: De iterator() metoden returnerer en iterator over elementene i listen i riktig rekkefølge, den returnerer ikke en List eller et ListIterator-objekt. EN ListIterator kan fås ved å påkalle listIterator-metoden.

få matriselengde i c


Program 4: Unntak for trådstart og stopp

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

Produksjon:

Run Time Exception  

Forklaring: En tråd kan ikke startes mer enn én gang. Ringer start() metode på en stoppet tråd årsaker IllegalThreadStateException .