Tutorial de introducción a la programación Java: proceso de creación de objetos

programa de ejemplo de error

Un programa de muestra del proceso de creación de un objeto en el caso de herencia.

 

Ejemplo de análisis de programa

       Este ejemplo no se puede compilar correctamente a través de Java , y el error que se muestra arriba ocurre porque ocurrió un error al ejecutar el método de construcción Square .

       Java estipula que el método de construcción de la subclase debe retroceder para ejecutar el método de construcción de la clase principal antes de que se ejecute realmente.

       Dado que la clase Square es una subclase de la clase Rectangle , cuando el sistema ejecuta: Square square = new Square (10), el sistema primero ejecuta el método de construcción de la clase padre Clase Rectangle . De forma predeterminada, ejecuta el método de construcción vacío de la clase padre. En este ejemplo, la clase Rectangle ya ha definido un método de construcción explícito de tipo Rectangle ( int a,  int b) , por lo que el sistema ya no generará un método de construcción vacío predeterminado para la clase Rectangle, de modo que no se pueda encontrar ninguna coincidencia cuando el programa ejecuta el constructor vacío de la clase principal .

solución uno


Agregue un constructor vacío a la clase principal

class Rectangle {  
   ...
   Rectangle ( ) { } //Método 1: agregue un constructor vacío
   Rectangle (int a, int b){width =a; height=b;}
   ...
}


solución dos


El método de construcción de la subclase indica claramente el tipo de método de construcción de la clase padre que se ejecutará
class Square extends Rectangle {     ...     public Square(int a)     { super(a,a); ... } //Método 2: especificar el método de construcción específico de la clase padre que se ejecutará     ... }





 

 

Supongo que te gusta

Origin blog.csdn.net/u010764893/article/details/131140135
Recomendado
Clasificación