Рубрики

Вывод программ Java | Набор 14 (Конструкторы)

Условие — конструкторы Java

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

class Helper

{

    private int data;

    private Helper()

    {

        data = 5;

    }

}

public class Test

{

    public static void main(String[] args)

    {

        Helper help = new Helper();

        System.out.println(help.data);

    }

}

а) ошибка компиляции
б) 5
в) Ошибка во время выполнения
г) ни один из них

Отв. (А)
Объяснение: Закрытый конструктор нельзя использовать для инициализации объекта вне класса, в котором он определен, так как он больше не виден внешнему классу.

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

public class Test implements Runnable

{

    public void run()

    {

        System.out.printf(" Thread's running ");

    }

  

    try

    {

        public Test()

        {

            Thread.sleep(5000);

        }   

    

    catch (InterruptedException e) 

    {

        e.printStackTrace();

    }

      

    public static void main(String[] args)

    {

        Test obj = new Test();

        Thread thread = new Thread(obj);

        thread.start();

        System.out.printf(" GFG ");

    }

}

а) GFG Thread работает
б) поток работает GFG
в) ошибка компиляции
г) ошибка Рунтимера

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

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

class Temp

{

    private Temp(int data)

    {

        System.out.printf(" Constructor called ");

    }

    protected static Temp create(int data)

    {

        Temp obj = new Temp(data);

        return obj;

    }

    public void myMethod()

    {

        System.out.printf(" Method called ");

    }

}

  

public class Test

{

    public static void main(String[] args)

    {

        Temp obj = Temp.create(20);

        obj.myMethod();

    }

}

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

Отв. (А)
Объяснение: Когда конструктор помечен как закрытый, единственный способ создать новый объект этого класса из некоторого внешнего класса — это использовать метод, который создает новый объект, как определено выше в программе. Метод create () отвечает за создание объекта Temp из некоторого другого внешнего класса. Как только объект создан, его метод может быть вызван из класса, в котором создан объект.

4) Что является выводом следующей программы?

public class Test

{

    public Test()

    {

        System.out.printf("1");

        new Test(10);

        System.out.printf("5");

    }

    public Test(int temp)

    {

        System.out.printf("2");

        new Test(10, 20);

        System.out.printf("4");

    }

    public Test(int data, int temp)

    {

        System.out.printf("3");

          

    }

      

    public static void main(String[] args)

    {

        Test obj = new Test();

          

    }

      
}

а) 12345
б) ошибка компиляции
в) 15
г) Ошибка во время выполнения

Отв. (А)
Пояснение: Конструкторы могут быть связаны и перегружены. Когда вызывается Test (), он создает другой объект Test, вызывающий конструктор Test (int temp).

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

class Base

{

    public static String s = " Super Class ";

    public Base()

    {

        System.out.printf("1");

    }

}

public class Derived extends Base

{

    public Derived()

    {

        System.out.printf("2");

        super();

    }

      

    public static void main(String[] args)

    {

        Derived obj = new Derived();

        System.out.printf(s);

    }

}

а) 21 супер класс
б) Суперкласс 21
в) ошибка компиляции
г) 12 Супер Класс
Отв. (С)
Объяснение: вызов конструктора суперкласса должен быть первым оператором в конструкторе класса Derived.
частный
Эта статья предоставлена Mayank Kumar . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

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

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

Вывод программ Java | Набор 14 (Конструкторы)

0.00 (0%) 0 votes