Nøkkelforskjellen mellom Package og Interface i Java er at Package hjelper til med å kategorisere klassene metodisk for å få tilgang til og vedlikeholde dem enkelt, mens Interface hjelper til med å implementere flere arv og å oppnå abstraksjon.
Java er et av de mest populære programmeringsspråkene. Den største fordelen med Java er at den støtter objektorientert programmering. Denne metodikken tillater modellering av objekter i den virkelige verden i programvare. En klasse er en blåkopi for å lage et objekt. Hvert objekt inneholder data eller felt for å beskrive attributtene eller egenskapene og metodene for å beskrive atferd. Denne artikkelen diskuterer to konsepter relatert til OOP i Java i Java som er pakke og grensesnitt.
Hva er pakke i Java?
Java tilbyr et stort antall klasser. Å holde alle klassene i en enkelt mappe kan være vanskelig fordi det er vanskelig å få tilgang til. Dette kan påvirke programmets håndterbarhet. Java bruker pakker for å arrangere klasser. Det ligner på en mappe. Java API grupperer klasser i forskjellige pakker i henhold til funksjonaliteten. Derfor inneholder hver pakke et relatert sett med klasser.
Eksempel på pakker i Java
Få eksempler på pakker er som følger. Java.io-pakken inneholder input, output-støttende klasser. Den inkluderer File, PrintStream, BufferInputStream etc. Java.net-pakken inneholder nettverksrelaterte klasser. Noen eksempler er URL, Socket, ServerSocket. Java.awt-pakken inneholder alle klassene som kreves for å bygge grafiske brukergrensesnitt. Dette er noen få Java API-pakker.
Når programmereren ønsker å bruke en bestemt klasse i programmet, bør han importere den pakken. Hvis programmereren ønsker å bruke BufferInputStream-klassen i java.io-pakken, bør han skrive importsetningen som følger.
import java.util. BufferInoutStream;
Below statement vil importere alle klassene i util-pakken.
import java.util.;
Det er også mulig å lage brukerdefinerte pakker.
pakkemedarbeider;
offentlig klasseansatt {
}
I følge eksemplet ovenfor er den ansatte pakkenavnet. Medarbeiderklassen er en del av medarbeiderpakken. Denne filen lagres som Employee.java i ansattpakken.
I tillegg er det mulig å importere en offentlig klasse fra en pakke til en annen. Se følgende eksempel.
Figur 01: Klasse A
Figur 02: Klasse B
Klasse A er i pakke 1, og den inneholder den offentlige metoden k alt display. Klasse B er i pakke 2, og den inneholder hovedmetoden. Selv om de er i separate pakker; klasse B kan lage et objekt av klasse A ved å importere pakke1. Etter import av pakke 1 har klasse B tilgang til dataene og metodene til klasse A.
Samlet sett hjelper Package in Java med å organisere prosjektfilene. Dette er veldig nyttig når du utvikler store system fordi det tillater lagring av alle filene på en metodisk måte. I tillegg til det lar Java API-pakkene programmerere bruke allerede eksisterende klasser.
Hva er grensesnitt i Java?
Noen ganger kjenner ikke programmereren definisjonen av metoden. I denne situasjonen kan programmereren bare deklarere metoden. En abstrakt metode er en metode som ikke har en definisjon. Den har bare erklæringen. Når det er minst én abstrakt metode, blir den klassen en abstrakt klasse. Dessuten kan den abstrakte klassen inneholde abstrakte metoder så vel som ikke-abstrakte metoder. Programmereren kan ikke lage objekter fra abstrakte klasser.
Når en klasse utvider en abstrakt klasse, skal den nye klassen definere all abstrakt metode i abstraktklassen. Med andre ord, anta at abstrakt klasse A har en abstrakt metode k alt display. Klasse B utvider klasse A. Da bør klasse B definere metodevisningen.
Eksempel på grensesnitt i Java
Anta at både A og B er abstrakte klasser. Hvis klasse C utvider A og B, må den klassen C definere de abstrakte metodene for begge klassene. Dette er multippel arv. Java støtter ikke multippel arv. For å implementere det, bør programmereren bruke grensesnitt. Hvis A og B er grensesnitt, kan klasse C implementere dem. Se følgende eksempel.
Figur 03: Grensesnitt A
Figur 04: Grensesnitt B
Grensesnittet A har den abstrakte metoden display1, og grensesnitt B har den abstrakte metoden display2.
Figur 05: Klasse C
Klasse C implementerer både A- og B-grensesnitt. Derfor bør den definere begge metodene.
Figur 06: Hovedmetode
Nå i hovedmetoden er det mulig å lage et objekt av C og kalle begge metodene. På samme måte hjelper grensesnitt til å implementere multippel arv i Java.
I tillegg til multippel arv hjelper grensesnitt til å oppnå abstraksjon. Det er et hovedkonsept i OOP. Abstraksjon gjør det mulig å skjule implementeringsdetaljene og vise bare funksjonaliteten til brukeren. Videre tillater det å fokusere på hva objektet gjør i stedet for hvordan det gjøres. Ettersom et grensesnitt består av abstrakte metoder, hjelper det å arkivere abstraksjon.
Hva er forskjellen mellom pakke og grensesnitt i Java?
Package er en gruppe relaterte klasser som gir tilgangsbeskyttelse og navneområdeadministrasjon. Interface er en referansetype som ligner på klasse som er en samling abstrakte metoder. Pakke hjelper til med å kategorisere klassene metodisk for å få tilgang til og vedlikeholde dem enkelt. På den annen side hjelper Interface med å implementere flere arv og å oppnå abstraksjon. Dette er hovedforskjellen mellom pakke og grensesnitt i Java. Videre er måten å skrive en pakke på med små bokstaver som java.util, java.awt. Hvis navnet på grensesnittet er Area, skrives det i, interface Area.
Sammendrag – Pakke vs grensesnitt i Java
Forskjellen mellom Package og Interface i Java er at Package hjelper til med å kategorisere klassene metodisk for å få tilgang til og vedlikeholde dem enkelt, mens Interface hjelper til med å implementere flere arv og å oppnå abstraksjon.