Anbefalet, 2024

Redaktørens Valg

Forskel mellem klasse og interface i Java

Klasse og Interface begge bruges til at oprette nye referencetyper. En klasse er en samling felter og metoder, der opererer på felter. En grænseflade har fuldt abstrakte metoder, dvs. metoder med ingen. En grænseflade er syntaktisk ligner klassen, men der er en stor forskel mellem klasse og grænseflade, som en klasse kan blive instantiated, men en grænseflade kan aldrig blive instantiated. Så lad os lære lidt mere forskel mellem en klasse og en grænseflade ved hjælp af et sammenligningskort vist nedenfor.

Sammenligningstabel

Grundlag for sammenligningklassegrænseflade
GrundlæggendeEn klasse er instantiated til at oprette objekter.En grænseflade kan aldrig blive instantiated, da metoderne ikke er i stand til at udføre handlinger ved påkaldelse.
Søgeordklassegrænseflade
Adgang specifierMedlemmerne af en klasse kan være private, offentlige eller beskyttede.Medlemmerne af en grænseflade er altid offentlige.
MetoderMetoderne i en klasse er defineret til at udføre en specifik handling.Metoderne i en grænseflade er rent abstrakte.
Redskab / ForlængEn klasse kan implementere et hvilket som helst antal grænseflader og kan kun udvide en klasse.En grænseflade kan udvide flere grænseflader, men kan ikke implementere nogen grænseflade.
ConstructorEn klasse kan have konstruktorer til at initialisere variablerne.En grænseflade kan aldrig have en konstruktør, da der næppe er nogen variabel til at initialisere.

Definition af klasse

En klasse er et vigtigt aspekt af Java-programmering uden klasser, du kan ikke implementere et java-program. En klasse opretter referencetyper, og disse referencetyper bruges til at oprette objekter. En klasse har en underskrift og en krop. Undertegnelse af en klasse har klassens navn og information, der fortæller om klassen har arvet en anden klasse. Legemet i en klasse har felter og metoder, der opererer på disse felter. En klasse oprettes ved hjælp af en søgeordsklasse. Lad os se, hvordan man erklærer en klasse.

 klasse klassenavn {/ * felter ... metoder * /} 

Når en klasse er instantiated, indeholder hvert objekt en kopi af felter og metoder med dem. De felter og medlemmer, der er erklæret inde i en klasse, kan være statiske eller ikke-statiske. Statiske medlemmer værdi er konstant for hvert objekt, mens de ikke-statiske medlemmer initialiseres af hvert objekt forskelligt i overensstemmelse med dets krav.

Medlemmer af en klasse har adgangspersoner, der bestemmer medlemmernes synlighed og tilgængelighed for brugeren eller underklasserne. Adgangspecifikatorerne er offentlige, private og beskyttede. En klasse kan arves af en anden klasse ved hjælp af adgangspersonalet, som bestemmer synligheden af ​​medlemmer af en superklasse (arvet klasse) i en underklasse (arvelig klasse). Klassen opfylder således begrebet data skjuling og indkapsling i objektorienteret programmering.

Definition af grænseflade

En grænseflade er også blandt de referencetyper, der er defineret i Java. Betydningen af ​​en grænseflade er, at en klasse i Java kun kan arve en enkelt klasse. For at undgå denne begrænsning introducerede Java-designerne et koncept af grænseflade. En grænseflade er syntaktisk ligner en klasse, men den mangler i feltdeklaration, og metoderne i en grænseflade har ingen implementering. En grænseflade er erklæret ved hjælp af en søgeord interface . Lad os se erklæringen om en grænseflade.

 interface interface_name {type var_name = værdi; type metode1 (parameter-liste); type metode2 (parameterliste); . . } 

En grænseflade definerer ikke nogen metode, der er angivet i den, fordi den mangler felter til at fungere på. Bare fordi enhver metode inden for en grænseflade ikke udfører nogen handling, kan en grænseflade aldrig blive instantiated. Hvis en grænseflade har et feltelement, skal det initialiseres på tidspunktet for deres erklæring. En grænseflade indeholder aldrig nogen konstruktører, da det mangler i feltmedlemmer til at blive initialiseret. Så, en grænseflade definerer kun, hvad en klasse skal gøre i stedet for, hvordan den skal gøre.

En grænseflade, der en gang er oprettet, kan implementeres af et hvilket som helst antal klasser ved hjælp af et søgeordsredskaber. Men klasserne, der implementerer en grænseflade, skal definere alle metoderne inden for en grænseflade. En grænseflade kan også arve en anden grænseflade ved hjælp af udvidet søgeord. Hvis en klasse implementerer en grænseflade, der udvider en anden grænseflade. Så skal en klasse definere metoderne for både de grænseflader, der vises i en kæde. Metoderne inden for en grænseflade skal altid være offentlige, da de skal få adgang til de klasser, der implementerer dem.

Nøgleforskelle mellem klasse og interface i Java

  1. En klasse kan oprettes ved at skabe sine objekter. En grænseflade er aldrig instantiated, da de metoder, der er angivet i en grænseflade, er abstrakte og ikke udfører nogen handling, så der er ingen brug for at instansere nogen grænseflade.
  2. En klasse erklæres ved hjælp af en søgeordsklasse. På samme måde oprettes en grænseflade ved hjælp af en søgeordgrænseflade.
  3. Medlemmerne af en klasse kan få adgangen specifier som offentlig, privat, beskyttet. Men medlemmerne af en grænseflade er altid offentlige, da de skal få adgang til de klasser, der implementerer dem.
  4. Metoderne i en klasse er defineret til at udføre en handling på de felter, der er angivet i klassen. Som grænseflade mangler i erklæringen af ​​felter, er metoderne inden for en grænse rent abstrakt.
  5. En klasse kan implementere et hvilket som helst antal grænseflader, men kan kun udvide en superklasse. En grænseflade kan udvide ethvert antal grænseflader, men kan ikke implementere nogen grænseflade.
  6. En klasse har konstruktorer defineret inde i den for at få variablen initialiseret. Men en grænseflade har ingen konstruktorer, da der ikke er nogen felter, der skal initialiseres. Feltene i en grænseflade initialiseres kun på tidspunktet for deres erklæring.

Konklusion:

Både klasser og grænseflader har deres egen betydning. En klasse bruges, når vi skal definere, hvordan opgaven skal udføres. En grænseflade bruges, når vi skal vide, hvilken opgave der skal udføres.

Top