logo

Output af Java-program | Sæt 6

Sværhedsgrad: Mellem

Forudsige output fra følgende Java-programmer.

java arkitektur

Program 1: Konstruktørkæde



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

Produktion
a b c 

Forklaring: Når et 'tredje' objekt oprettes, før standardkonstruktøren kaldes Tredje klasse standard konstruktøren af ​​super klasse dvs. Anden klasse kaldes og så igen før standardkonstruktøren af ​​superklassens standardkonstruktør af Først klasse kaldes. Og derfor er output i rækkefølgen a b c.


Program 2: Variabel initialisering og konstruktørudfø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);  } } 

Produktion
10 200 400 

Forklaring: Da den i 'Anden' klasse ikke har sit eget 'i', er variablen arvet fra superklassen. Også konstruktøren af ​​forælder kaldes, når vi skaber et objekt af Anden.


Program 3: instans af 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);   }  } 

Produktion
false true false

Forklaring: De iterator() metoden returnerer en iterator over elementerne i listen i den rigtige rækkefølge, den returnerer ikke et List- eller ListIterator-objekt. EN ListIterator kan fås ved at påberåbe sig listIterator-metoden.

få array længde i c


Program 4: Trådstart og stop undtagelse

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

Produktion:

Run Time Exception  

Forklaring: En tråd kan ikke startes mere end én gang. Ringer starte() metode på en stoppet tråd årsager IllegalThreadStateException .