Notes d'étude de base Java _ les caractéristiques d'utilisation des variables membres et des méthodes membres dans les relations d'héritage

1. Les caractéristiques d'utilisation des variables membres dans les relations d'héritage Java:

Suivez le "principe de proximité", et utilisez-le si vous avez un emplacement local,

Sinon, allez à la position de membre de cette classe pour trouver, utiliser s'il y en a,

Si ce n'est pas le cas, accédez à l'emplacement du membre de la classe parent pour le trouver, utilisez-le s'il l'a et signalez une erreur si ce n'est pas le cas.

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();
    }
}

 Dans le code ci-dessus, la valeur imprimée de la neuvième ligne de code est 5;

Si la huitième ligne est mise en commentaire, la valeur imprimée est 10;

Si vous continuez à commenter la sixième ligne, la valeur imprimée est 20;

Si la deuxième ligne est commentée, le système signale une erreur.

 

Par défaut, la valeur la plus proche d'elle-même est imprimée.

Si vous souhaitez appeler les variables membres de cette classe dans les circonstances ci-dessus, vous devez utiliser le mot-clé this;

Si vous souhaitez appeler les variables membres de la classe parente, vous devez utiliser le mot clé super.

2. Caractéristiques de l'utilisation des méthodes membres dans la relation d'héritage Java:

Réécriture de méthode:

Lorsqu'une méthode identique à la classe parente apparaît dans une sous-classe (le modificateur d'autorisation de la méthode de la sous-classe n'est pas inférieur à celui de la méthode de la classe parente, et le type de valeur de retour, le nom de la méthode et la liste des paramètres sont identiques), un écrasement l'opération se produira, également connue sous le nom d'écrasement ou de copie.

La méthode privée de la classe parente ne peut pas être vue par la sous-classe, il n'y a donc aucun moyen de réécrire la méthode privée de la classe parente.

Réécrire les notes:

Le modificateur d'autorisation de la méthode de sous-classe n'est pas inférieur à celui de la méthode de classe parente.

Statique ne peut remplacer que statique.

Scénarios d'utilisation couverts :

Lorsque la sous-classe a besoin des fonctions de la classe parente et que la sous-classe de fonction principale a son propre contenu unique, les méthodes de la classe parente peuvent être écrasées.

De cette manière, les deux fonctions de la classe parente sont héritées et le contenu unique de la sous-classe est défini.

Quelle est la différence entre la réécriture de méthode et la surcharge ?

La réécriture de méthode est utilisée lorsque la méthode de la sous-classe est exactement la même que la méthode parente. À l'exception du modificateur d'autorisation, le type de valeur de retour, le nom de la méthode et la liste des paramètres sont identiques.

La surcharge est utilisée lorsque le nom de méthode de chaque méthode de la même classe est le même et que la liste des paramètres est différente (elle n'a rien à voir avec le type de valeur de retour).

L'utilisation de la méthode de construction dans la classe sous-parent :

1. Dans le processus d'initialisation de la sous-classe, revenez d'abord en arrière et exécutez l'action d'initialisation de la classe parente.

Parce qu'il y a un super () dans la méthode de construction de la sous-classe par défaut.

2. Si la classe parente n'a pas de méthode de construction sans paramètre:

  • Utilisez super pour appeler la structure paramétrée de la classe parent. (Méthode recommandée)
  • Utilisez ceci pour appeler d'autres constructions de lui-même.

La séquence d'exécution du bloc de code statique, du bloc de code de construction et de la méthode de construction :

Bloc de code statique de classe parent → bloc de code statique de sous-classe → bloc de code de construction de classe parent → méthode de construction de classe parent → bloc de code de construction de classe enfant → méthode de construction de classe enfant

Je suppose que tu aimes

Origine blog.csdn.net/qq_43191910/article/details/114780075
conseillé
Classement