Java >> Java tutorial >  >> Tag >> class

Eksempel på Java abstrakt metode | Brug ikke-abstrakt klasse

En Java-metode uden en body-sætning betyder den eneste erklæring og har ikke en implementering kaldet en Java abstrakt metode. Den abstrakte metode skal begynde at blive brugt som et abstrakt nøgleord. En abstrakt metode kan kun bruges i klassen Abstract.

Syntaks

En simpel syntaks (signatur) af abstrakt metode.

abstract void methodName();

Eksempel på Java abstrakt metode

Lad os se et eksempel på det. Hvor en almindelig klasse udvider Abstract-klassen og implementerer alle Abstract-metoder.

Du kan se i Abstrakt klasse der kun nævnte metodenavn uden nogen implementering.

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

Output: 6
14

Regler for abstrakt metode

Et punkt, du bør huske, når du laver abstrakte metoder.

  • Den abstrakte metode bør være ingen. Betyder ingen krøllede seler og statement.
  • Det skal erklæres med et abstrakt søgeord.
  • Hvis en almindelig klasse udvider den abstrakte klasse, så skal klassen implementere alle abstrakte metoder. Ellers skal den også erklæres abstrakt.

Sp:Er det muligt at Java abstrakt metode i en ikke-abstrakt klasse?

Svar: Du kan ikke. Det er ikke muligt. Java-kompileren vil nægte at kompilere en ikke-abstrakt klasse, som inkluderer, eller arver , enhver metode erklæret som abstrakt.

hvis selv en metode i klassen eller alle metoder, der er nedarvet fra superklasser, er abstrakte, skal stadig klasse erklæres abstrakt.

Sp:Hvad er brugen af ​​den abstrakte metode i Java?

Svar: Det tvinger enhver ikke-abstrakt klasse, der arver fra den, til at implementere metoden, svarende til en grænseflade.

For eksempel:
Du ønsker, at dine underklasser skal have en metode disp() men samtidig ønsker du, at det skal være forskelligt for hver klasse. Så erklærer du denne metode abstrakt i forældreklassen. Så alle underklasserne bliver nødt til at implementere denne metode og give deres egen implementering.

Sp:Kan vi tilsidesætte abstrakt metode i java?

Svar: Vanskeligt spørgsmål i interviewet.

Ja, og det skal tilsidesættes . Hele konceptet med det kun baseret på det – Læs denne tutorial (Hvad er tilsidesættelse i Java?)

Skriv en kommentar, hvis du er i tvivl og forslag til denne tutorial.

Bemærk: Dette eksempel (Projekt) er udviklet i IntelliJ IDEA 2018.2.6 (Community Edition)
JRE:11.0.1
JVM:OpenJDK 64-Bit Server VM af JetBrains s.r.o
macOS 10.14.1
Java version 11
Alle eksempler på abstrakte metoder i java er i Java 11, så det kan ændre sig på anderledes end Java 9 eller 10 eller opgraderede versioner.


Java tag