Hablando de sobrecargar y sobrescribir en Java, todos están familiarizados con ella, pero lo escribiré hoy.
Tema de este artículo:
1. ¿Qué está sobrecargando?
2. ¿Qué es la cobertura?
3. La diferencia entre los dos
Sobrecarga:
En una clase, si aparecen dos o más funciones del mismo nombre, siempre que el número de parámetros o los tipos de parámetros sean diferentes, se puede llamar sobrecarga de la función.
Es decir, cuando la función tiene el mismo nombre, solo mire la lista de parámetros. No tiene nada que ver con el tipo de valor de retorno.
Preste atención al usar sobrecarga:
1. Al usar sobrecarga, solo puede pasar diferentes estilos de parámetros. Por ejemplo, diferentes tipos de parámetros, diferentes parámetros y orden de parámetros diferentes.
2. El tipo de excepción y el número de métodos no afectarán la sobrecarga.
3. Para la clase principal, la clase infantil puede sobrecargar un método con el mismo nombre que el método de herencia en la clase principal. Si un método tiene permiso de acceso en la clase principal y es Priavte, entonces no se puede sobrecargar en la clase infantil. Si se define, solo definirá un nuevo método y no logrará el efecto de sobrecarga.
Anular:
Cuando aparece exactamente el mismo método en la clase de padres infantiles, crear un objeto de subclase ejecutará los métodos en la subclase. Parece que el método en la clase principal está sobrescribida. Entonces, esta situación es otra característica de la función: sobrescribir.
¿Cuándo usar cobertura?
Cuando una clase infantil hereda la clase principal, el contenido funcional de la clase principal debe modificarse, se puede implementar a través de anulaciones
Al cubrir el método, preste atención a dos puntos:
1. Cuando una subclase anula la clase principal, es necesario asegurarse de que los permisos del método de subclase deben ser mayores o iguales a los permisos del método de clase principal para lograr la herencia. De lo contrario, la compilación falla.
2. Cuando se cubren, son estáticos o no son estáticos. (La estática solo puede cubrir estática, o estar cubierto por estática) Sí
3. El método modificado final es un método final y no se puede sobrescribir.
4. Cuando una clase infantil anula el método de la clase principal, solo puede lanzar menos excepciones que la clase principal, o arrojar excepciones infantiles de la excepción lanzada por la clase principal, porque la clase infantil puede resolver algunos problemas de la clase principal y no puede tener más problemas que la clase principal.
Diferencias entre la sobrecarga y la sobrescritura:
1. La anulación de un método es la relación entre la subclase y la clase principal, que es una relación vertical; La sobrecarga de un método es la relación entre los métodos en la misma clase, que es una relación horizontal.
2. La sobrescritura solo puede ser causada por un método, o solo por un par de métodos; La sobrecarga de un método es la relación entre múltiples métodos.
3. La lista de parámetros del requisito de cobertura es la misma; La lista de parámetros del requisito de sobrecarga es diferente.
4. En la relación de sobrescritura, el cuerpo del método se llama basado en el tipo de objeto; La relación de sobrecarga se selecciona en función de la tabla de parámetros real y la tabla de parámetros formales en el momento de la llamada.
Lo anterior es la comprensión profunda de la sobrecarga y la cobertura de Java que le trae el editor. Espero que todos puedan apoyar a Wulin.com más ~