Preguntas de la entrevista de Java sobre constructores

  1. ¿Qué es un Constructor?
    Los constructores se utilizan para inicializar el estado del objeto. Al igual que los métodos, un constructor también contiene una colección de declaraciones (es decir, instrucciones) que se ejecutan en el momento de la creación del objeto.
  2. ¿Tenemos Copy Constructor en Java ?
    Al igual que C++, Java también admite el constructor de copias. Pero, a diferencia de C++, Java no crea un constructor de copia predeterminado si no escribe uno propio.
    Para copiar los valores de un objeto en otro en Java, puede usar:
    • Constructor
    • Asignar los valores de un objeto a otro
    • método clon() de la clase Object
  3. ¿Qué es el enstringmiento de constructores ?
    El enstringmiento de constructores es una técnica para llamar a otro constructor desde un constructor. this() se usa para llamar al mismo constructor de clase donde super() se usa para llamar al constructor de superclase.

    // Java program to illustrate Constructor Chaining
    // within same class Using this() keyword
    class Temp
    {
        // default constructor 1
        // default constructor will call another constructor
        // using this keyword from same class
        Temp()
        {
            // calls constructor 2
            this(5);
            System.out.println("The Default constructor");
        }
      
        // parameterized constructor 2
        Temp(int x)
        {
            // calls constructor 3
            this(5, 15);
            System.out.println(x);
        }
      
        // parameterized constructor 3
        Temp(int x, int y)
        {
            System.out.println(x * y);
        }
      
        public static void main(String args[])
        {
            // invokes default constructor first
            new Temp();
        }
    }
  4. ¿Podemos llamar al constructor de subclase desde el constructor de superclase?
    No. No hay forma en Java de llamar al constructor de subclase desde un constructor de superclase.
  5. ¿Qué sucede si mantiene un tipo de retorno para un constructor?
    Idealmente, Constructor no debe tener un tipo de retorno. Por definición, si un método tiene un tipo de retorno, no es un constructor. ( Declaración JLS8.8 ) Será tratado como un método normal. Pero el compilador da una advertencia diciendo que el método tiene un nombre de constructor. Ejemplo:
    class GfG
    {
        int GfG()
        {
            return 0;    // Warning for the return type
        }
    }
  6. ¿Qué es el constructor sin argumentos?
    El constructor sin argumentos se llama constructor sin argumentos. El constructor predeterminado en Java siempre es un constructor sin argumentos.
    class GfG
    {
        public GfG()
        {
            //No-arg constructor
        }
    }
  7. ¿En qué se diferencia un constructor sin argumentos del constructor predeterminado ?
    Si una clase no contiene declaraciones de constructor, se declara implícitamente un constructor predeterminado sin parámetros formales y sin cláusula throws.

    Si la clase que se declara es la clase primordial Object, entonces el constructor predeterminado tiene un cuerpo vacío. De lo contrario, el constructor predeterminado simplemente invoca al constructor de la superclase sin argumentos.

  8. ¿Qué son los constructores privados y dónde se utilizan?
    Como cualquier método, podemos proporcionar un especificador de acceso al constructor. Si se hace privado, solo se puede acceder a él dentro de la clase.
    Los principales escenarios en los que usamos un constructor privado:
    • Enstringmiento de constructores internos
    • Patrón de diseño de clase Singleton
  9. ¿Cuándo necesitamos la sobrecarga de constructores ?
    A veces existe la necesidad de inicializar un objeto de diferentes maneras. Esto se puede hacer mediante la sobrecarga del constructor. Los diferentes constructores pueden hacer un trabajo diferente implementando diferentes líneas de códigos y se llaman según el tipo y el número de parámetros pasados.
    Según la situación, se llama a un constructor con un número específico de parámetros entre los constructores sobrecargados.
  10. ¿Tenemos destructores en Java?
    No, debido a que Java es un lenguaje de recolección de basura, no puede predecir cuándo (o incluso si) se destruirá un objeto. Por lo tanto, no existe un equivalente directo de un destructor.

Cuestionario sobre constructores

Este artículo es una contribución de Kiana Singh. Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *