Maison  >  Article  >  Java  >  06.Bases de Java - Surcharge et réécriture

06.Bases de Java - Surcharge et réécriture

黄舟
黄舟original
2017-02-27 10:23:241234parcourir

Concepts de base

Surcharge, c'est-à-dire Surcharge, c'est-à-dire Override ;

La différence est la suivante : la surcharge se produit dans la même classe ; l'écrasement se produit dans le processus d'héritage.


Surcharge

La surcharge a les caractéristiques suivantes :

  • Elle se produit dans la même classe

  • Parmi les fonctions surchargées, les noms de fonction sont les mêmes, mais les paramètres de fonction (numéro et type) sont différents.

  • La surcharge n'a rien à voir avec le type de retour

Explorons-la à travers un exemple.

public String print(String word) {    return word;
}// ①函数名称相同,参数个数不同public String print(String word, String title) {    return word + title;
}// ②函数名称相同,参数类型不同public String print(int num) {    return num + "";
}// ③函数名称相同,参数类型、个数不同public String print(int num, int num2) {    return num + num2 + "";
}// ④与返回类型无关public int print() {    return 100;
}

Override

Le remplacement présente les caractéristiques suivantes :

  • Exigences de la méthode pour que le remplacement se produiseLe nom de la méthode, le type de retour, le numéro/type de paramètre doivent être exactement les mêmes. La méthode

  • peut utiliser l'annotation @Override pour vérifier si elle est utilisée. est une écriture en double.

  • Les droits d'accès des méthodes de sous-classe sont supérieurs à ceux de la classe parent.

  • Les méthodes de sous-classe ne peuvent générer que des exceptions plus petites ou aucune exception que les méthodes de classe parent.

  • La méthode remplacée ne peut pas avoir de modificateurs final, privé, statique. Parce que les méthodes modifiées avec final ou private ne peuvent pas être héritées et que les méthodes statiques ne sont liées qu'aux classes. Elles sont réécrites sous la forme, mais en fait la sous-classe définit simplement sa propre méthode statique.

Ce qui suit est un exemple de réécriture :

class Parent {
    String word ="Parent";    void print(){
    }
}

class Son extends Parent {
    String word ="Son";    @Override
    void print(){
        System.out.println(word);
    }
}

class Grandson extends Son {
    String word ="Grandson";    @Override
    void print(){
        System.out.println(word+"-"+super.word);
    }
}

Ce qui précède est le contenu de 06.Java Basics - Overloading & Rewriting. Pour plus de contenu connexe, veuillez. Suivez le site PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:05.Bases de Java - InterfaceArticle suivant:05.Bases de Java - Interface