logo

Utdata från Java-program | Set 6

Svårighetsgrad: Medel

Förutsäg resultatet av följande Java-program.

binärt sökträd vs binärt träd

Program 1: Konstruktörskedja



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 

Förklaring: När ett 'tredje' objekt skapas innan du anropar standardkonstruktorn för Tredje klass standardkonstruktorn för superklass, dvs. Andra klass anropas och sedan igen före standardkonstruktören för superklassens standardkonstruktor för Första klass kallas. Och därför är utgången i ordningen a b c.


Program 2: Variabel initiering och konstruktörsutförande

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 

Förklaring: Eftersom den i klassen 'Andra' inte har sitt eget 'i' ärvs variabeln från superklassen. Även konstruktorn av förälder kallas när vi skapar ett objekt av Andra.


Program 3: instans av med Iterators

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

Förklaring: De iterator() metod returnerar en iterator över elementen i listan i rätt ordning, den returnerar inte ett List- eller ListIterator-objekt. A ListIterator kan erhållas genom att anropa listIterator-metoden.

krom adressfält


Program 4: Undantag för trådstart och 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();  } } 

Produktion:

Run Time Exception  

Förklaring: En tråd kan inte startas mer än en gång. Kallelse start() metod på en stoppad tråd orsakar IllegalThreadStateException .