Java >> Tutoriel Java >  >> Tag >> class

Exemple de méthode abstraite Java | Utiliser une classe non abstraite

Une méthode Java sans instruction body signifie la seule déclaration et n'a pas d'implémentation appelée méthode abstraite Java. La méthode abstraite doit commencer à être utilisée comme mot-clé abstrait. Une méthode abstraite ne peut être utilisée que dans la classe abstraite.

Syntaxe

Une syntaxe simple (signature) de la méthode abstraite.

abstract void methodName();

Exemple de méthode abstraite Java

Voyons-en un exemple. Où une classe régulière étend la classe abstraite et implémente toutes les méthodes abstraites.

Vous pouvez voir dans la classe abstraite qu'il n'y a que le nom de la méthode mentionné sans aucune implémentation.

//abstract class
abstract class Sum{

    //Abstract methods
    public abstract int sumTwo(int n1, int n2);
    public abstract int sumThree(int n1, int n2, int n3);

}
//Regular class extends abstract class
class SumClass extends Sum{

    public int sumTwo(int num1, int num2){
        return num1+num2;
    }
    public int sumThree(int num1, int num2, int num3){
        return num1+num2+num3;
    }
    public static void main(String args[]){
        
        Sum obj = new SumClass();
        System.out.println(obj.sumTwo(3, 3));
        System.out.println(obj.sumThree(4, 1, 9));
    }
}

Sortie : 6
14

Règles de la méthode abstraite

Un point dont vous devez vous souvenir lorsque vous créez des méthodes abstraites.

  • La méthode abstraite doit être personne. Signifie pas d'accolades ni d'instruction.
  • Il doit être déclaré avec un mot-clé abstrait.
  • Si une classe régulière étend la classe abstraite, alors la classe doit implémenter toutes les méthodes abstraites. Sinon, il doit également être déclaré abstrait.

Q :Est-il possible d'utiliser une méthode abstraite Java dans une classe non abstraite ?

Réponse : Vous ne pouvez pas. Ce n'est pas possible. Le compilateur Java refusera de compiler une classe non abstraite, qui inclut, ou hérite , toute méthode déclarée abstraite.

si même une méthode de la classe ou toutes les méthodes héritées des superclasses sont abstraites, alors la classe doit toujours être déclarée abstraite.

Q :À quoi sert la méthode abstraite en Java ?

Réponse : Il force toute classe non abstraite qui en hérite à implémenter la méthode, similaire à une interface.

Par exemple:
Vous voulez que vos sous-classes aient une méthode disp() mais en même temps, vous voulez que ce soit différent pour chaque classe. Ensuite, vous déclarez cette méthode abstract dans la classe parent. Toutes les sous-classes devront donc implémenter cette méthode et donner leur propre implémentation.

Q :Pouvons-nous remplacer la méthode abstraite en Java ?

Réponse : Question délicate en entretien.

Oui, et il doit être remplacé . Tout le concept est basé uniquement sur lui - Lisez ce tutoriel (Qu'est-ce que la substitution en Java ?)

Faites des commentaires si vous avez des doutes et des suggestions sur ce tutoriel.

Remarque : Cet exemple (Project) est développé dans IntelliJ IDEA 2018.2.6 (Community Edition)
JRE :11.0.1
JVM :VM serveur OpenJDK 64 bits par JetBrains s.r.o
mac OS 10.14.1
Java 11
Tous Méthode abstraite dans les exemples Java sont en Java 11, il peut donc changer selon Java 9 ou 10 ou les versions mises à niveau.


Balise Java