En Java, ¿cuál es la diferencia entre sobrescribir y anular?
La diferencia entre Override, Overload y Overwrite
Primero que nada:
Override es la anulación del método
la sobrecarga es la sobrecarga del método
p>
Sobrescribir es la sobrescritura de un método
Primero, la anulación del método (Override) se refiere a la subclase que anula un método con el mismo nombre (parámetros ) heredado de la clase principal
, el valor de retorno también es el mismo), Mark-to-win: en este momento, la subclase borrará la influencia del método de la clase principal e implementará su propio comportamiento. Si realmente quieres usar el original, puedes usar super.
En segundo lugar, por cierto, la sobrecarga se refiere al método con el mismo nombre, que se guarda a través de diferentes estilos de parámetros. A veces se usa este, a veces se usa aquel. El estilo de parámetro significa que diferentes tipos de parámetros, diferente número de parámetros, diferente orden de parámetros y valor de retorno no tienen ningún efecto. Por cierto, trabajos públicos y de mayor autoridad respaldan la afirmación de que la sobrescritura no existe en Java. El autor cree que el concepto de sobrescritura debe proponerse formalmente.
Si será útil para ciertos fenómenos académicos después de su propuesta. La introducción de anulación y sobrecarga facilita la explicación de ciertos fenómenos después de que todos definan estos dos términos.
Sobrescribir obviamente no tiene este efecto. La definición de términos académicos obviamente no es tan poderosa como la del compilador. El compilador puede hacer lo que quiera. Veamos un ejemplo práctico
a continuación. Este ejemplo demuestra que el compilador debe seguir el orden de la primera subclase, luego la clase principal, primero la coincidencia exacta y luego la coincidencia difusa.
Ejemplo 1.5.3
clase AAAMark_to_win {
doble f(doble x, doble yMark_to_win) {
return x * yMark_to_win;
}
doble f(int x, doble y) {
return x * y*2
}
}
clase BBB extiende AAAMark_to_win {
doble f(doble x, doble y)
{
retorno x y ;