logo

Dane wyjściowe programu Java | Zestaw 6

Poziom trudności: Średnio zaawansowany

Przewiduj wyjście następujących programów Java.

konwertuj wartość logiczną na ciąg

Program 1: Łączenie konstruktorów



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

Wyjście
a b c 

Wyjaśnienie: Kiedy tworzony jest obiekt „Trzeci” przed wywołaniem domyślnego konstruktora Trzeci class domyślny konstruktor superklasy, tj. Drugi class, a następnie ponownie przed domyślnym konstruktorem domyślnego konstruktora superklasy Pierwszy klasa się nazywa. Zatem wynik jest w kolejności a b c.


Program 2: Inicjowanie zmiennych i wykonanie konstruktora

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

Wyjście
10 200 400 

Wyjaśnienie: Ponieważ w klasie „Druga” nie ma ona własnego „i”, zmienna jest dziedziczona z superklasy. Konstruktor rodzica jest również wywoływany, gdy tworzymy obiekt Drugi.


Program 3: instancja z iteratorami

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

Wyjście
false true false

Wyjaśnienie: The iterator() metoda zwraca iterator po elementach listy w odpowiedniej kolejności, nie zwraca obiektu List ani ListIterator. A ListIterator można uzyskać wywołując metodę listIterator.

metoda tostringowa


Program 4: Wyjątek uruchomienia i zatrzymania wątku

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

Wyjście:

Run Time Exception  

Wyjaśnienie: Wątek nie może zostać rozpoczęty więcej niż raz. Powołanie start() metoda w zatrzymanym wątku powoduje Wyjątek IllegalThreadStateException .