Skillnad mellan abstrakt klass och gränssnitt i Java
i den här artikeln kommer vi att diskutera skillnaden mellan abstrakt klass och gränssnitt i Java med exempel. Jag har täckt abstrakt klass och gränssnitt i separata tutorials av OOPs begrepp så jag skulle rekommendera dig att läsa dem först, innan du går igenom skillnaderna.
1. Abstrakt klass i java
2.,tected and public abstract methods
var och en av de ovan nämnda punkterna förklaras med ett exempel nedan:
abstrakt klass vs gränssnitt i Java
skillnad nr.,1: abstrakt klass kan förlänga endast en klass eller en abstrakt klass åt gången
utgång:
display3 method
gränssnitt kan förlänga valfritt antal gränssnitt åt gången
utgång:
display2 method
skillnad nr 2: abstrakt klass kan utökas(ärvas) av en klass eller en abstrakt klass
utgång:
Example4-display2 method
gränssnitt kan endast utökas med gränssnitt. Klasser måste implementera dem istället för att förlänga
utdata:
display1 method
Difference No.,3: abstrakt klass kan ha både abstrakta och konkreta metoder
gränssnitt kan bara ha abstrakta metoder, de kan inte ha konkreta metoder
Output:
display1 method
Difference No.4: i abstrakt klass är sökordet ’abstrakt’ obligatoriskt att deklarera en metod som abstrakt
I gränssnitt är sökordet ’abstrakt’ frivilligt att deklarera en metod som abstrakt eftersom alla metoder är abstrakta som standard
skillnad nr.,5: abstrakt klass kan ha skyddade och offentliga abstrakta metoder
gränssnitt kan bara ha offentliga abstrakta metoder
skillnad nr 6: abstrakt klass kan ha statiska, slutliga eller statiska slutliga variabler med någon åtkomstspecifikator
gränssnitt kan bara ha offentliga statiska slutliga (konstant) variabel