Skillnaden mellan klass och gränssnitt i Java

Författare: Laura McKinney
Skapelsedatum: 2 April 2021
Uppdatera Datum: 14 Maj 2024
Anonim
Skillnaden mellan klass och gränssnitt i Java - Teknologi
Skillnaden mellan klass och gränssnitt i Java - Teknologi

Innehåll


Klass och gränssnitt används båda för att skapa nya referenstyper. En klass är en samling fält och metoder som fungerar på fält. Ett gränssnitt har helt abstrakta metoder, dvs metoder med ingen. Ett gränssnitt liknar syntaktiskt klassen men det är en stor skillnad mellan klass och gränssnitt som är en klass kan instanseras, men ett gränssnitt kan aldrig instanseras. Så låt oss lära oss mer skillnad mellan klass och gränssnitt med hjälp av ett jämförelsediagram som visas nedan.

  1. Jämförelsediagram
  2. Definition
  3. Viktiga skillnader
  4. Slutsats

Jämförelsediagram

Grund för jämförelseKlassGränssnitt
GrundläggandeEn klass instanseras för att skapa objekt.Ett gränssnitt kan aldrig instanseras eftersom metoderna inte kan utföra några åtgärder för att åberopa.
Nyckelordklassgränssnitt
ÅtkomstspecifikationMedlemmarna i en klass kan vara privata, offentliga eller skyddade.Medlemmarna i ett gränssnitt är alltid offentliga.
metoder Metoderna i en klass definieras för att utföra en specifik åtgärd.Metoderna i ett gränssnitt är rent abstrakta.
Genomföra / ExtendEn klass kan implementera valfritt antal gränssnitt och kan bara utöka en klass.Ett gränssnitt kan utöka flera gränssnitt men kan inte implementera något gränssnitt.
Konstruktör En klass kan ha konstruktörer för att initialisera variablerna.Ett gränssnitt kan aldrig ha en konstruktör eftersom det knappast finns någon variabel att initiera.


Definition av klass

En klass är en viktigast aspekt av Java-programmering utan klasser du inte kan implementera ett java-program. En klass skapar referenstyper och dessa referenstyper används för att skapa objekt. En klass har en signatur och en kropp. Undertecknande av en klass har klassens namn och information som berättar om klassen har ärvt en annan klass. En klass består av fält och metoder som fungerar på dessa fält. En klass skapas med ett nyckelord klass. Låter oss se hur vi förklarar en klass.

klass klassnamn {/ * fält ... metoder * /}

När en klass instanseras innehåller varje skapat objekt en kopia av fält och metoder med dem. Fälten och medlemmar som deklareras i en klass kan vara statiska eller icke-statiska. Det statiska medlemmens värde är konstant för varje objekt medan de icke-statiska medlemmarna initialiseras av varje objekt på olika sätt beroende på dess krav.


Medlemmar i en klass har åtkomstspecifikationer som avgör medlemmarnas synlighet och tillgänglighet för användaren eller underunderklasserna. Åtkomstspecifikationerna är offentliga, privata och skyddade. En klass kan ärvas av en annan klass med hjälp av åtkomstspecifikationen som bestämmer synligheten för medlemmar i en superklass (ärvt klass) i en underklass (ärva klass). Således uppfyller klassen begreppet datahemning och kapsling i objektorienterad programmering.

Definition av gränssnitt

Ett gränssnitt hör också till de referenstyper som definieras i Java. Betydelsen av ett gränssnitt är att i Java kan en klass bara ärva en enda klass. För att undvika denna begränsning introducerade Java-designarna ett koncept för gränssnitt. Ett gränssnitt liknar syntaktiskt en klass, men det saknar fältdeklaration och metoderna i ett gränssnitt har ingen implementering. Ett gränssnitt deklareras med ett nyckelord gränssnitt. Låt oss se deklarationen för ett gränssnitt.

interface interface_name {type var_name = value; typmetod1 (parameterlista); typ metod2 (parameterlista); . . }

Ett gränssnitt definierar ingen metod som deklareras inuti det eftersom det saknar fält att fungera på. Bara för att någon metod i ett gränssnitt inte utför någon åtgärd kan ett gränssnitt aldrig instanseras. Om ett gränssnitt har någon fältmedlem måste det initialiseras vid tidpunkten för deras deklaration. Ett gränssnitt innehåller aldrig några konstruktörer eftersom det saknas i fältmedlemmar för att initiera. Så, ett gränssnitt definierar bara vad en klass måste göra istället för hur den måste göra.

Ett gränssnitt som en gång har skapats kan implementeras av valfritt antal klasser med ett nyckelord redskap. Men de klasser som implementerar ett gränssnitt måste definiera alla metoder i ett gränssnitt. Ett gränssnitt kan också ärva ett annat gränssnitt med förlänga nyckelord. Om en klass implementerar ett gränssnitt som utökar ett annat gränssnitt. Då måste en klass definiera metoderna för båda gränssnitten som visas i en kedja. Metoderna i ett gränssnitt måste alltid vara offentliga eftersom de måste komma åt av de klasser som implementerar dem.

Viktiga skillnader mellan klass och gränssnitt i Java

  1. En klass kan instanseras genom att skapa sina objekt. Ett gränssnitt instanseras aldrig eftersom de metoder som deklareras i ett gränssnitt är abstrakta och inte utför någon åtgärd, så det finns ingen användning av att instansera något gränssnitt.
  2. En klass deklareras med en nyckelklass. På samma sätt skapas ett gränssnitt med ett sökordsgränssnitt.
  3. Medlemmarna i en klass kan ha åtkomstspecifikationen som offentligt, privat, skyddat. Men medlemmarna i ett gränssnitt är alltid offentliga eftersom de måste komma åt av klasserna som implementerar dem.
  4. Metoderna i en klass definieras för att utföra en åtgärd på de fält som deklareras i klassen. Eftersom gränssnittet saknas i fältdeklarationen, är metoderna i ett gränssnitt rent abstrakta.
  5. En klass kan implementera valfritt antal gränssnitt men kan bara utöka en superklass. Ett gränssnitt kan utöka valfritt antal gränssnitt men kan inte implementera något gränssnitt.
  6. En klass har konstruktörer definierade inuti den för att få variabeln initialiserad. Men ett gränssnitt har inga konstruktörer eftersom det inte finns några fält som ska initieras. Fälten för ett gränssnitt initialiseras vid tidpunkten för deklarationen.

Slutsats:

Både klasser och gränssnitt har sin egen betydelse. En klass används när vi måste definiera hur uppgiften skulle göras. Ett gränssnitt används när vi behöver veta vilken uppgift som måste göras.