Vad är användningen av abstrakt metod i Java?



Den här artikeln om abstrakt metod i Java hjälper dig att lära dig att uppnå abstraktion när du använder programmering av abstrakta klasser och metoder i Java

På vilket programmeringsspråk som helst, abstraktion betyder att dölja irrelevanta detaljer från användaren för att bara fokusera på de väsentliga detaljerna för att öka effektiviteten och därigenom minska komplexiteten. I Java uppnås abstraktion medabstrakta klasser och metoder. Låt oss lära oss mer om den abstrakta metoden i .

De ämnen som diskuteras i den här artikeln är följande:





Vad är en abstrakt klass?

I någon , en klass som deklareras med nyckelordet abstrakt är känd som en abstrakt klass. Ett abstrakt klass fångar vanliga egenskaper hos underklasser och kan innehålla eller inte abstrakt metod . Det kan inte instansieras men kan bara användas som en superklass av dess underklasser.

Nedan listas några viktiga punkter angående abstrakt klass:



  • En abstrakt klass kan ha konstruktörer och statiska metoder
  • Det kan ha slutliga metoder , de tvingar underklassen att inte ändra metodens kropp
  • Du kan använda en abstrakt klass genom att ärva den från en annan klass och sedan ge implementeringar till de abstrakta metoderna i den
  • Om en abstrakt klass inte har någon metodimplementering är det alltid bättre att använda gränssnitt

Ett klassdeklarerat abstrakt kan innehålla abstrakta metoder eller inte. Men vad är exakt en abstrakt metod?

Vad är en abstrakt metod?

En metod som deklareras utan organ (inget genomförande)inom en abstrakt klass är en abstrakt metod. Med andra ord, om du vill ha en klass för att innehålla en viss metod men du vill att den faktiska implementeringen av den metoden ska bestämmas av barnklasser, då kan du förklara metoden i moderklassen som ett abstrakt.

Så här ser en abstrakt metod ut i Java:



abstrakt offentligt tomrum ()

Viktiga funktioner i abstrakt metod

Nedan listas de viktigaste funktionerna i abstrakt metod:

  • Abstrakta metoder har ingen implementering (body), de har bara metodsignatur som visas i exemplet ovan
  • Om en klass har en abstrakt metod bör den förklaras abstrakt, tvärtom är inte sant
  • Istället för lockiga hängslen kommer en abstrakt metod att ha ett semikolon () i slutet
  • Om en vanlig klass utökar en abstrakt klass, då måste klassen behöva implementera alla de abstrakta metoderna i den klassen eller så måste den också förklaras abstrakt

Exempel på program: Abstrakt metod i Java

Kolla in exempelprogrammet för att förstå hur abstraktion uppnås med hjälp av abstrakta klasser och abstrakta metoder. Ta en titt.

paket MyPackage // abstrakt klassabstraktklass Animal {String AnimalName = '' Animal (String name) {this.AnimalName = name} // deklarera icke-abstrakta metoder // det har standardimplementering offentligt ogiltigt BasicInfo (Strängdetaljer) {System. out.println (this.AnimalName + '' + detaljer)} // abstrakta metoder som kommer att // implementeras av dess underklass (er) abstrakt offentligt ogiltigt livsmiljö () abstrakt offentligt tomt andning ()} klass Terrestriskt utökar djur {// konstruktör Terrestrial (String name) {super (name)} @ Override public void habitat () {System.out.println ('leave on land and')} @ Override public void respiration () {System.out.println ('respire genom lungor eller luftstrupe. ')}} klass Aquatic extensions Animal {// constructor Aquatic (String name) {super (name)} @ Override public void habitat () {System.out.println (' Det lämnar i vatten och ') } @Override public void respiration () {System.out.println ('respire through gills or their skin.')}} Class AbstractClassDemo {public static voi d main (String [] args) {// skapa objektet för terrestrisk klass // och använda djurklassreferens. Djurobjekt1 = nya markbundna ('Människor') objekt1.BasicInfo ('är markbundna varelser, de') objekt1.habitat () objekt1.respiration () System.out.println ('') // skapa objekt i cirkelklass Animal object2 = new Aquatic ('Fishes') object2.BasicInfo ('är aqautic varelser, de') object2.habitat () object2.respiration ()}}

Produktion:

Metoden Grundläggande information () är en som används av båda Markbundna och Vatten klasser. Metoderna livsmiljö() och andning() är abstrakta metoder och de har ingen implementering, bara signaturen. Markbundna och Vatten klasser måste tillhandahålla sin egen implementering för båda dessa metoder. Lägg också märke till att båda metoderna börjar med nyckelordet abstrakt . Vid den här tiden kanske du undrar hur det går abstrakt klass skiljer sig från gränssnitt .

Gränssnitt i Java

Ett annat sätt att uppnå abstraktion i Java är genom att använda gränssnitt . Ett gränssnitt är en samling abstrakta metoder, det har ingen konkret , till skillnad från en abstrakt klass. Men till skillnad från abstrakt klass ger ett gränssnitt full abstraktion i Java. Det kan ha både metoder och variabler precis som en klass. Metoderna som deklarerats i ett gränssnitt är dock abstrakta som standard.

Abstrakta klasser och gränssnitt är de två huvudsakliga byggstenarnaav . Även om båda huvudsakligen används för abstraktion, skiljer de sig mycket från varandra och kan inte användas omväxlande.

retracement sekvens java för loop

Detta leder oss till slutet av den här artikeln 'Abstrakt metod i Java'. Jag har täckt en av de vanligaste frågorna , som är en abstrakt klass i Java.

Se till att du tränar så mycket som möjligt och återgår till din upplevelse.

Kolla in av Edureka, ett pålitligt online-lärande företag med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna ”Abstrakta metod i Java” artikeln så återkommer vi till dig så snart som möjligt.