logo

Резултат от Java програма | Комплект 6

Ниво на трудност: средно

Предскажете изхода на следните Java програми.

равенство на обекти в java

Програма 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 

Обяснение: Когато се създаде „Трети“ обект преди извикването на конструктора по подразбиране на трето class конструкторът по подразбиране на суперклас, т.е. Второ клас се извиква и след това отново преди конструктора по подразбиране на конструктора по подразбиране на супер клас Първо клас се нарича. И следователно изходът е в реда 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 

Обяснение: Тъй като във „Втория“ клас той няма собствено „i“, променливата е наследена от супер класа. Също така конструкторът на родител се извиква, когато създаваме обект на Второ.


Програма 3: instanceof с итератори

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

Обяснение: The итератор() метод връща итератор върху елементите в списъка в правилна последователност, той не връща обект List или ListIterator. А ListIterator може да се получи чрез извикване на метода listIterator.

bash дължина на низа


Програма 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  

Обяснение: Една нишка не може да бъде стартирана повече от веднъж. Обаждане начало() метод на спряна нишка причини IllegalThreadStateException .