Notas de estudio básico de Java _ las características de uso de variables miembro y métodos miembro en relaciones de herencia

1. Las características de uso de las variables miembro en las relaciones de herencia de Java:

Siga el "principio de proximidad" y utilícelo si tiene una ubicación local,

Si no es así, vaya a la posición de miembro de esta clase para buscar, use si hay,

De lo contrario, vaya a la ubicación del miembro de la clase principal para encontrarlo, utilícelo si lo tiene e informe un error si no lo tiene.

public class Fruit {
    int price = 20;
}

public class Apple extends Fruit {
    int price = 10;
    public void showPrice() {
        int price = 5;
        System.outprintln(price);            //5
        System.outprintln(this.price);       //10
        System.outprintln(super.price);      //20
    }
}

public class Test {
    public static void main(String args[]) {
        Apple apple = new Apple();
        apple.showPrice();
    }
}

 En el código anterior, el valor impreso de la novena línea de código es 5;

Si se comenta la octava línea, el valor impreso es 10;

Si continúa comentando la sexta línea, el valor impreso es 20;

Si se comenta la segunda línea, el sistema informará de un error.

 

De forma predeterminada, se imprime el valor más cercano a sí mismo.

Si desea llamar a las variables miembro de esta clase en las circunstancias anteriores, debe usar la palabra clave this;

Si desea llamar a las variables miembro de la clase principal, debe usar la palabra clave super.

2. Características del uso de métodos de miembros en la relación de herencia de Java:

Método de reescritura:

Cuando un método idéntico a la clase principal aparece en una subclase (el modificador de permiso del método de la subclase no es menor que el del método de la clase principal, y el tipo de valor de retorno, el nombre del método y la lista de parámetros son los mismos), una sobrescritura ocurrirá una operación, también conocida como sobrescritura o copia.

La subclase no puede ver el método privado de la clase principal, por lo que no hay forma de reescribir el método privado de la clase principal.

Reescribir notas:

El modificador de permiso del método de subclase no es menor que el del método de clase padre.

La estática solo puede anular la estática.

Escenarios de uso cubiertos :

Cuando la subclase necesita las funciones de la clase principal y la subclase de la función principal tiene su propio contenido único, los métodos de la clase principal se pueden sobrescribir.

De esta manera, se heredan ambas funciones de la clase padre y se define el contenido único de la subclase.

¿Cuál es la diferencia entre la reescritura de métodos y la sobrecarga ?

La reescritura de métodos se usa cuando el método de la subclase es exactamente el mismo que el método principal. Excepto por el modificador de permiso, el tipo de valor de retorno, el nombre del método y la lista de parámetros son los mismos.

La sobrecarga se usa cuando el nombre del método de cada método en la misma clase es el mismo y la lista de parámetros es diferente (no tiene nada que ver con el tipo de valor de retorno).

El uso del método de construcción en la clase subparental :

1. En el proceso de inicialización de la subclase, primero regrese y ejecute la acción de inicialización de la clase padre.

Porque hay un super () en el método de construcción de la subclase por defecto.

2. Si la clase principal no tiene un método de construcción sin parámetros:

  • Utilice super para llamar a la estructura parametrizada de la clase principal. (Método recomendado)
  • Use esto para llamar a otras construcciones de sí mismo.

La secuencia de ejecución del bloque de código estático, el bloque de código de construcción y el método de construcción :

Bloque de código estático de clase principal → bloque de código estático de subclase → bloque de código de construcción de clase principal → método de construcción de clase principal → bloque de código de construcción de clase secundaria → método de construcción de clase secundaria

Supongo que te gusta

Origin blog.csdn.net/qq_43191910/article/details/114780075
Recomendado
Clasificación