Рубрики

Вывод программ Java | Набор 12

1) Каков вывод следующей программы?

public class Test implements Runnable

{

    public void run()

    {

        System.out.printf("%d",3);

    }

    public static void main(String[] args) throws InterruptedException

    {

        Thread thread = new Thread(new Test());

        thread.start();

        System.out.printf("%d",1);

        thread.join();

        System.out.printf("%d",2);

    }

  
}

а) 123
б) 213
в) 132
г) 321

Ans: (c)

Объяснение: Родительский поток ожидает завершения нового созданного потока с помощью объединения. Метод join () позволяет одному потоку ждать, пока другой поток завершит свое выполнение. Итак, родительский поток печатает 1 и ждет завершения дочернего потока. Дочерний поток печатает 3 на консоли и, наконец, родительский поток печатает 2.

2) Каков вывод следующей программы?

public class Test

{

    private static int value = 20;

    public int s = 15;

    public static int temp = 10;  

    public static class Nested

    {  

      private void display()

      {

          System.out.println(temp + s + value);

      }  

    }  

       

    public static void main(String args[])

    {  

      Test.Nested inner = new Test.Nested();  

      inner.display();  

    

}

а) ошибка компиляции
б) 1020
в) 101520
г) ничего из вышеперечисленного

Ans: (a)

Объяснение: Нестатическая переменная не доступна в статическом вложенном внутреннем классе . «Nested» не может получить доступ к нестатическим переменным [переменная s в этом случае]. Поэтому ошибка:

10: error: non-static variable s cannot be referenced from a static context
            System.out.println(temp + s + value);
                                      ^

3) Каков вывод следующей программы?

import java.io.*;

public class Test

{

    public void display() throws IOException

    {

        System.out.println("Test");

    }

  
}

  

class Derived extends Test

{

    public void display() throws IOException

    {

        System.out.println("Derived");

    }

    public static void main(String[] args) throws IOException

    {

        Derived object = new Derived();

        object.display();

    }

}

тест
б) Получено
в) ошибка компиляции
г) Ошибка во время выполнения

Ans: (b)

Объяснение: Если метод суперкласса объявляет исключение, переопределенный метод подкласса может объявить то же самое, исключение подкласса или исключение, но не может объявить родительское исключение.

4) Каков вывод следующей программы?

public class Test extends Thread

{

    public void run()

    {

        System.out.printf("Test ");

    }

    public static void main(String[] args)

    {

        Test test = new Test();

        test.run();

        test.start();

    }

}

а) ошибка компиляции
б) Ошибка во время выполнения
в) тест
г) Тестовый тест

Ans: (d)

Объяснение: test.run () выполняет метод run. test.start () создает новый поток и выполняет переопределенный метод run класса Thread. Метод Thread.start () всегда запускает новый поток, а точкой входа для этого потока является метод run (). Если вы вызываете run () напрямую, он будет выполняться в том же потоке, НО всегда рекомендуется логически вызывать Thread.start () для запуска нового потока выполнения, за которым следует метод run ().

5) Каков вывод следующей программы?

public class Test extends Thread

{

    public static void main(String[] args)

    {

        String a = "GeeksforGeeks";

        String b = new String(a);

        int value = 0;

        value = (a==b) ? 1:2;

        if(value == 1)

        {

            System.out.println("GeeksforGeeks");

        }

        else if(value == 2)

        {

            System.out.println("Geeks for Geeks");

        }

        else

        {

            System.out.println("GFG");

        }

          

    }

}

а) GeeksforGeeks
б) вундеркиндов для гиков
в) GFG
г) ничего из вышеперечисленного

Ans: (b) 

Объяснение: оператор == проверяет, относятся ли две переменные к одному и тому же объекту. Здесь а и б
относится к двум разным объектам. ?: это еще одна форма оператора if else, которая может быть прочитана как, условие: если true, тогда сделайте это: else сделайте это.

6) Каков вывод следующей программы?

public class Test

{

    try

    {

        public Test()

        {

            System.out.println("GeeksforGeeks");

            throw new Exception();

        }

    }

    catch(Exception e)

    {

        System.out.println("GFG");

    }

    public static void main(String[] args)

    {

        Test test = new Test();

    }

}

а) GeeksforGeeks
б) GFG
в) ошибка компиляции
г) ничего из вышеперечисленного

Ans: (c)

Объяснение: Конструкторы не могут быть заключены в блок try / catch.

7) Для данного кода выберите правильный ответ.

public interface Test

{

    public int calculate();

    protected interface NestedInterface

    {

        public void nested();

    }

}

а) Ошибка времени компиляции из-за NestedInterface
б) Ошибка времени компиляции из-за модификатора доступа NestedInterface
c) Нет ошибки времени компиляции
г) NestedInterface не может содержать объявление функции.

Ans: (b)

Объяснение: Модификатор доступа NestedInterface может быть только публичным. Поэтому ошибка:

4: error: illegal combination of modifiers: public and protected
    protected interface NestedInterface
              ^
1 error

8) Что из следующего верно в отношении объявления конструктора?

а) Конструкторы могут быть объявлены как окончательные.
б) Конструкторы могут быть окружены блоками try / catch.
в) Конструктор не может выбросить исключение.
г) Конструкторы могут содержать синхронизированный код (чтобы каждый поток мог обращаться к конструктору последовательно).

Ans: (d)

Объяснение: Конструкторы обеспечивают последовательный доступ к данным между потоками.

Эта статья предоставлена Mayank Kumar . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Вывод программ Java | Набор 12

0.00 (0%) 0 votes