Рубрики

Java Интервью Вопросы по конструкторам

  1. Что такое конструктор?
    Конструкторы используются для инициализации состояния объекта. Как и методы, конструктор также содержит коллекцию операторов (т.е. инструкций), которые выполняются во время создания объекта.
  2. Есть ли у нас конструктор копирования в Java ?
    Как и C ++, Java также поддерживает конструктор копирования. Но, в отличие от C ++, Java не создает конструктор копирования по умолчанию, если вы не пишете свой собственный.
    Чтобы скопировать значения одного объекта в другой в Java, вы можете использовать:
    • Конструктор
    • Присвоение значений одного объекта другому
    • метод clone () класса Object
  3. Что такое конструктор цепочки ?
    Цепочка конструктора — это метод вызова другого конструктора из одного конструктора. this () используется для вызова того же конструктора класса, где super () используется для вызова конструктора суперкласса.

    // Java-программа для иллюстрации цепочки конструктора
    // внутри того же класса, используя ключевое слово this ()

    class Temp

    {

        // конструктор по умолчанию 1

        // конструктор по умолчанию вызовет другой конструктор

        // используя это ключевое слово из того же класса

        Temp()

        {

            // вызывает конструктор 2

            this(5);

            System.out.println("The Default constructor");

        }

      

        // параметризованный конструктор 2

        Temp(int x)

        {

            // вызывает конструктор 3

            this(5, 15);

            System.out.println(x);

        }

      

        // параметризованный конструктор 3

        Temp(int x, int y)

        {

            System.out.println(x * y);

        }

      

        public static void main(String args[])

        {

            // сначала вызывает конструктор по умолчанию

            new Temp();

        }

    }

  4. Можем ли мы вызвать конструктор подкласса из конструктора суперкласса?
    Нет. В Java нет способа вызвать конструктор подкласса из конструктора суперкласса.
  5. Что произойдет, если вы сохраните тип возвращаемого значения для конструктора?
    В идеале конструктор не должен иметь тип возвращаемого значения. По определению, если метод имеет тип возвращаемого значения, он не является конструктором. ( Объявление JLS8.8 ) Он будет рассматриваться как обычный метод. Но компилятор выдает предупреждение о том, что метод имеет имя конструктора. Пример:
    class GfG
    {
        int GfG()
        {
            return 0;    // Warning for the return type
        }
    }
  6. Что такое конструктор без аргументов?
    Конструктор без аргументов называется конструктором без аргументов. Конструктор по умолчанию в Java всегда конструктор без аргументов.
    
    class GfG
    {
        public GfG()
        {
            //No-arg constructor
        }
    }
  7. Чем конструктор без аргументов отличается от конструктора по умолчанию ?
    Если класс не содержит объявлений конструктора, то неявно объявляется конструктор по умолчанию без формальных параметров и без предложения throws.

    Если объявленный класс является первичным классом Object, тогда конструктор по умолчанию имеет пустое тело. В противном случае конструктор по умолчанию просто вызывает конструктор суперкласса без аргументов.

  8. Что такое частные конструкторы и где они используются?
    Как и любой метод, мы можем предоставить спецификатор доступа для конструктора. Если он сделан приватным, то к нему можно получить доступ только внутри класса.
    Основные сценарии, в которых мы используем частный конструктор:
    • Внутренняя цепочка конструктора
    • Шаблон проектирования класса Singleton
  9. Когда нам нужна перегрузка конструктора ?
    Иногда возникает необходимость инициализации объекта различными способами. Это можно сделать с помощью перегрузки конструктора. Разные конструкторы могут выполнять различную работу, реализуя разные строки кодов и вызываются в зависимости от типа и отсутствия переданных параметров.
    В зависимости от ситуации, конструктор вызывается с определенным количеством параметров среди перегруженных конструкторов.
  10. У нас есть деструкторы в Java?
    Нет, поскольку Java является языком сборки мусора, вы не можете предсказать, когда (или даже если) объект будет уничтожен. Следовательно, нет прямого эквивалента деструктора.

Викторина по конструкторам

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

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

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

Java Интервью Вопросы по конструкторам

0.00 (0%) 0 votes