Forskjellen mellom klasse og grensesnitt i Java

Forfatter: Laura McKinney
Opprettelsesdato: 2 April 2021
Oppdater Dato: 11 Kan 2024
Anonim
Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"]
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"]

Innhold


Class og Interface brukes begge til å lage nye referansetyper. En klasse er en samling felt og metoder som opererer på felt. Et grensesnitt har helt abstrakte metoder, dvs. metoder uten noen. Et grensesnitt er syntaktisk likt klassen, men det er en stor forskjell mellom klasse og grensesnitt som er en klasse kan bli instantivert, men et grensesnitt kan aldri bli formidlet. Så la oss lære litt mer forskjell mellom en klasse og grensesnitt ved hjelp av et sammenligningstabell vist nedenfor.

  1. Sammenligningstabell
  2. Definisjon
  3. Viktige forskjeller
  4. Konklusjon

Sammenligningstabell

Grunnlag for sammenligningKlasseInterface
grunn~~POS=TRUNCEn klasse blir instantiert for å lage objekter.Et grensesnitt kan aldri bli oppstartet da metodene ikke klarer å utføre noen handlinger når de påberopes.
søkeordklassegrensesnitt
TilgangsspesifikatorMedlemmene av en klasse kan være private, offentlige eller beskyttede.Medlemmene av et grensesnitt er alltid offentlige.
metoder Metodene til en klasse er definert for å utføre en spesifikk handling.Metodene i et grensesnitt er rent abstrakte.
Implementere / ExtendEn klasse kan implementere et hvilket som helst antall grensesnitt og kan utvide bare en klasse.Et grensesnitt kan utvide flere grensesnitt, men kan ikke implementere noe grensesnitt.
Constructor En klasse kan ha konstruktører for å initialisere variablene.Et grensesnitt kan aldri ha en konstruktør, da det knapt er noen variabel å initialisere.


Definisjon av klasse

En klasse er et viktigst aspekt ved Java-programmering uten klasser du ikke kan implementere et java-program. En klasse oppretter referansetyper og disse referansetypene brukes til å lage objekter. En klasse har en signatur og et organ. Signatur av en klasse har klassens navn og informasjon som forteller om klassen har arvet en annen klasse. Kroppen til en klasse har felt og metoder som opererer på disse feltene. En klasse opprettes ved hjelp av et nøkkelord klasse. La oss se hvordan vi kan erklære en klasse.

klasse class_name {/ * felt ... metoder * /}

Når en klasse blir instantivert, inneholder hvert opprettet objekt en kopi av felt og metoder. Feltene og medlemmene som er erklært i en klasse, kan være statiske eller ikke-statiske. Statisk medlemsverdi er konstant for hvert objekt, mens de ikke-statiske medlemmene initialiseres av hvert objekt forskjellig i henhold til kravet.


Medlemmer av en klasse har tilgangsspesifikasjoner som bestemmer synligheten og tilgjengeligheten til medlemmene for brukeren eller underklassene. Tilgangsspesifikasjonene er offentlige, private og beskyttede. En klasse kan arves av en annen klasse ved å bruke tilgangspesifikatoren som vil avgjøre synligheten til medlemmer av en superklasse (arvet klasse) i en underklasse (arveklasse). Dermed oppfyller klassen konseptet med data skjul og innkapsling i objektorientert programmering.

Definisjon av grensesnitt

Et grensesnitt er også blant referansetypene som er definert i Java. Viktigheten av et grensesnitt er at i Java kan en klasse bare arve en enkelt klasse. For å unngå denne begrensningen introduserte designerne av Java et konsept av grensesnitt. Et grensesnitt er syntaktisk likt en klasse, men det mangler feltdeklarasjon, og metodene i et grensesnitt har ikke noen implementering. Et grensesnitt er deklarert ved hjelp av et nøkkelord grensesnitt. La oss se på erklæringen om et grensesnitt.

interface interface_name {type var_name = value; type method1 (parameterliste); type method2 (parameterliste); . . }

Et grensesnitt definerer ikke noen metode som er erklært inni den fordi den mangler felt å operere på. Bare fordi noen metode i et grensesnitt ikke utfører noen handling, kan et grensesnitt aldri bli oppstartet. Hvis et grensesnitt har noe feltmedlem, må det initialiseres på tidspunktet for deres erklæring. Et grensesnitt inneholder aldri noen konstruktører som det mangler i feltmedlemmer for å få initialisert. Så, et grensesnitt definerer bare hva en klasse må gjøre i stedet for hvordan den må gjøre.

Et grensesnitt en gang opprettet kan implementeres av et hvilket som helst antall klasser ved hjelp av et nøkkelord redskaper. Men klassene som implementerer et grensesnitt, må definere alle metodene i et grensesnitt. Et grensesnitt kan også arve et annet grensesnitt ved å bruke forlenge søkeord. Hvis en klasse implementerer et grensesnitt som utvider et annet grensesnitt. Da må en klasse definere metodene til begge grensesnittene som vises i en kjede. Metodene i et grensesnitt må alltid være offentlige ettersom klasser som implementerer dem må ha tilgang til.

Viktige forskjeller mellom klasse og grensesnitt i Java

  1. En klasse kan instantieres ved å lage objekter. Et grensesnitt blir aldri oppstartet da metodene som er deklarert i et grensesnitt er abstrakte og ikke utfører noen handling, så det er ikke bruk av å innlede noe grensesnitt.
  2. En klasse blir erklært ved hjelp av en nøkkelordklasse. På samme måte opprettes et grensesnitt ved hjelp av et nøkkelordgrensesnitt.
  3. Medlemmene av en klasse kan ha tilgangsspesifikasjonen som offentlig, privat, beskyttet. Men medlemmene i et grensesnitt er alltid offentlige, da de må få tilgang til klassene som implementerer dem.
  4. Metodene i en klasse er definert for å utføre en handling på feltene deklarert i klassen. Ettersom grensesnitt mangler i feltdeklarasjonen, er metodene i et grensesnitt rent abstrakte.
  5. En klasse kan implementere et hvilket som helst antall grensesnitt, men kan utvide bare en superklasse. Et grensesnitt kan utvide hvilket som helst antall grensesnitt, men kan ikke implementere noe grensesnitt.
  6. En klasse har konstruktører definert inne i den for å få variabelen initialisert. Men et grensesnitt har ingen konstruktører, da det ikke er noen felt som skal initialiseres. Feltene til et grensesnitt initialiseres på tidspunktet for erklæringen.

Konklusjon:

Både klasser og grensesnitt har sin egen betydning. En klasse brukes når vi trenger å definere hvordan oppgaven skal gjøres. Et grensesnitt brukes når vi trenger å vite hvilken oppgave som må gjøres.