"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Es `super()` obligatorio en los constructores de subclases?

¿Es `super()` obligatorio en los constructores de subclases?

Publicado el 2024-11-08
Navegar:500

Is `super()` Mandatory in Subclass Constructors?

Comprender la necesidad de super() en constructores de subclases

Al crear subclases en Java, surge la pregunta de si super() La llamada al método es obligatoria en el constructor de la subclase. Este artículo profundiza en este tema, brindando claridad sobre los siguientes aspectos:

Inserción automática de super() por parte del compilador

La respuesta corta a esta pregunta es no. El compilador no inserta automáticamente una llamada super() en el constructor de la subclase si no se indica explícitamente. Por lo tanto, el constructor de la subclase siempre debe especificar el constructor de superclase que pretende invocar.

Inexistencia de equivalentes de constructores sin argumentos

Es importante entender que no poner una llamada super() en el constructor de la subclase no implica que el compilador insertará un constructor equivalente sin argumentos. Si la superclase no tiene un constructor sin argumentos accesible, omitir la llamada a super() resultará en un error de compilación.

Invocación del constructor cuando hay argumentos presentes

Considere un constructor de subclase con argumentos. En este caso, se requiere la llamada super() para especificar qué constructor de superclase invocar. El constructor de superclase invocado está determinado principalmente por los argumentos reales pasados ​​al constructor de la subclase. Si no se especifica ninguna lista de argumentos en la llamada a super(), invocará el constructor de la superclase que coincida con el orden y los tipos de los argumentos de construcción de la subclase.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3