Cobertura de método
En la herencia de clase, la subclase puede modificar el método de herencia de la clase principal, es decir, la subclase puede crear un método con diferentes funciones con la clase principal, pero tiene el mismo nombre, tipo de valor de retorno y lista de parámetros.
Si se define un método en la nueva clase, el nombre, el tipo de valor de retorno y la lista de parámetros son los mismos que la clase principal, entonces el nuevo método se denomina método anterior que cubre el método anterior.
La lista de parámetros también se llama firma de parámetros, incluido el tipo de parámetro, el número de parámetros y el orden del parámetro.
El método de estar cubierto solo puede llamarse a través de Super en la subclase.
Nota: La cobertura no elimina el método de la clase principal, pero está oculta para la instancia de la subclase y no se usa por el momento.
Consulte el siguiente ejemplo:
Public Class Demo {public static void main (string [] args) {dog mydog = new dog ("círculo de ala"); = nuevo. name = name;} public void say () {System.out.println ("Soy un animal pequeño, mi nombre es" + nombre + ", haré un llanto"); ) {super (nombre);} // cubre el método say () public void say () {System.println ("Soy un cachorro, mío, mi nombre es" + nombre + ", haré un sonido de ladrido "));}}
Ejecutar resultados:
Copiar código del código de la siguiente manera:
Soy un cachorro, mi nombre es el círculo de caminar, haré un sonido de ladrido.
Métodos que cubren los principios:
El tipo de retorno, el nombre del método y la lista de parámetros del método de portada deben ser el mismo que el método original.
El método de cobertura no puede ser peor que el método original (es decir, los permisos de acceso no pueden reducirse).
El método de cobertura no se puede lanzar más anormal que el método original.
El método de estar cubierto no es el tipo final, porque el método modificado no se puede cubrir.
El método de estar cubierto no puede ser privado, de lo contrario solo define un método en su subclasa y no lo cubre.
El método de cobertura no puede ser estático. Si el método en la clase principal es estática, y el método en la subclase no es estático, pero los dos métodos excepto esto para cumplir con las condiciones de cobertura, entonces se producirán errores; A pesar de que los métodos en el padre y las subclases son estáticas y las condiciones de cobertura se cumplen, aún no se cubrirá, porque el método estático es coincidir con el método estático y el tipo de referencia de clase al compilar.
Método de carga pesada:
El método Java se ha explicado antes. Un método es func (int i) {...}, que constituye la descarga del método.
Cobertura diferente y carga pesada:
La lista de parámetros de requisitos de cobertura de métodos debe ser consistente, y el método de volver a cargar los parámetros de los requisitos debe ser inconsistente.
Requisitos de cobertura del método El tipo de devolución debe ser consistente, y el método no tiene requisitos para esto.
Los métodos solo se pueden usar para cubrir la clase principal, y el método se sobrecarga a todos los métodos en la misma clase (incluido el método heredado de la clase principal).
Los métodos tienen requisitos especiales para permisos de acceso y lanzamientos anormales, y el método no tiene restricciones en esta área.
Un método de la clase principal solo puede estar cubierto por las subclases una vez, y un método se puede recargar varias veces en todas las clases.