logo

Java programmas izvade | 6. komplekts

Grūtības pakāpe: vidēja

Paredziet tālāk norādīto Java programmu izvadi.

int dubultot

1. programma: konstruktoru ķē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();  } } 

Izvade
a b c 

Paskaidrojums: Kad tiek izveidots "Trešais" objekts pirms noklusējuma konstruktora izsaukšanas Trešais klase superklases noklusējuma konstruktors, t.i. Otrkārt klase tiek izsaukta un pēc tam atkal pirms superklases noklusējuma konstruktora noklusējuma konstruktora Pirmkārt klase saucas. Un līdz ar to izvade ir secībā a b c.


2. programma: mainīgo inicializācija un konstruktora izpilde

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

Izvade
10 200 400 

Paskaidrojums: Tā kā 'Otrajā' klasē tai nav sava 'i', mainīgais tiek mantots no superklases. Arī vecāku konstruktors tiek izsaukts, kad mēs veidojam objektu Otrkārt.


3. programma: instanceof ar iteratoriem

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

Izvade
false true false

Paskaidrojums: The iterators () metode atgriež iteratoru virs saraksta elementiem pareizā secībā, tā neatgriež sarakstu vai ListIterator objektu. A ListIterator var iegūt, izsaucot listIterator metodi.

ls komandē linux


4. programma: pavediena sākuma un apturēšanas izņēmums

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

Izvade:

Run Time Exception  

Paskaidrojums: Pavedienu nevar sākt vairāk kā vienu reizi. Zvana sākums () metode apturēta pavediena cēloņi IllegalThreadStateException .