Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

122
Visualizações
¿Sobrecarga o anulación de métodos?

Tenemos una clase principal y secundaria, que tiene un método con el mismo nombre pero los argumentos son primitivos y envoltorios. ¿Podría alguien explicar el motivo por el que esto se denominaría anulación de métodos y sobrecarga de métodos? Ejecutar este programa invocaría el método principal, que anularía y no sobrecargaría, buscando explicaciones.

 class Parent { public void takeValue(int a) { System.out.println("take value method from parent is invoked"); } } class Child extends Parent { public void takeValue(Integer a) { System.out.println("take value method from child is invoked"); } public static void main(String[] args) { Parent p = new Child(); p.takeValue(new Integer(51)); } }
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

El método está sobrecargado.

Ejecutar este programa invocaría el método principal, que anularía y no sobrecargaría

Sí. Está llamando a takeValue en una Parent principal, lo que significa que el compilador buscará una coincidencia de firma en la Parent . La sobrecarga ni siquiera es visible aquí (las firmas se comparan según los tipos estáticos, es decir, Java encuentra el método según el tipo de datos declarado de la variable en la que se llama al método, no con el tipo de datos del objeto asignado a la variable , que sería una cosa de tiempo de ejecución).

Y debido a que el compilador no considera public void takeValue(Integer a) al verificar la invocación del método, p.takeValue(new Integer(51)); está vinculado a Parent.takeValue(int) en virtud del autoboxing (habría coincidido con el otro método si ambos estuvieran visibles, o declarados en la clase Parent en este ejemplo).

over 4 years ago · Santiago Trujillo Relatório

0

Esto es sobrecargar. Tiene el mismo nombre pero el tipo de parámetros de entrada son diferentes.

Para confirmarlo, obtendrá un error cuando intente adjuntar la anotación @Override .

Integer e int son tipos diferentes.

over 4 years ago · Santiago Trujillo Relatório

0

En Java , la Overriding y la Overloading son conceptos muy importantes. Para comprender completamente las diferencias, le recomiendo que lea esto:

  • Anulación frente a sobrecarga en Java
  • 16 SOBRECARGA de Java frente a ANULACIÓN. Tutorial de Java orientado a objetos.
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda