logo

Излаз Јава програма | Сет 6

Ниво тежине: средњи

Предвидите излаз следећих Јава програма.

алгебра скупова

Програм 1: Ланац конструктора



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

Излаз
a b c 

Објашњење: Када се креира 'Трећи' објекат пре позивања подразумеваног конструктора оф Треће цласс подразумевани конструктор супер класе тј. Друго цласс се позива, а затим поново испред подразумеваног конструктора супер класе подразумеваног конструктора Прво разред се зове. И стога је излаз у редоследу а б ц.


Програм 2: Иницијализација променљиве и извршавање конструктора

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

Излаз
10 200 400 

Објашњење: Пошто у 'другој' класи нема своје 'и', променљива је наслеђена од супер класе. Такође се позива конструктор родитеља када креирамо објекат од Друго.


Програм 3: инстанцеоф са итераторима

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

Излаз
false true false

Објашњење: Тхе итератор() метода враћа итератор преко елемената на листи у правилном редоследу, не враћа Лист или ЛистИтератор објекат. А ЛистИтератор може се добити позивањем методе листИтератор.

тостринг јава метод


Програм 4: Изузетак покретања и заустављања нити

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

Излаз:

Run Time Exception  

Објашњење: Нит се не може покренути више од једном. Цаллинг старт() метода на заустављеној нити узрокује ИллегалТхреадСтатеЕкцептион .