Forskel mellem pakker og grænseflader i Java

Forfatter: Laura McKinney
Oprettelsesdato: 2 April 2021
Opdateringsdato: 3 Juli 2024
Anonim
Forskel mellem pakker og grænseflader i Java - Teknologi
Forskel mellem pakker og grænseflader i Java - Teknologi

Indhold


Pakker og grænseflader fungerer begge som en container. Indholdet i pakker og grænseflader kan bruges af klasserne ved at importere og implementere det tilsvarende. Den grundlæggende forskel mellem pakker og grænseflader er, at en pakke indeholder en gruppe klasser og grænseflader, mens en grænseflade indeholder metoder og felter. Lad os undersøge nogle andre forskelle ved hjælp af sammenligningstabel.

  1. Sammenligningstabel
  2. Definition
  3. Vigtige forskelle
  4. Konklusion

Sammenligningstabel

Grundlag for sammenligningpakkerinterfaces
GrundlæggendePakker er en gruppe af klasser og / eller grænseflader sammen.Interfaces er en gruppe af abstrakte metoder og konstante felter.
SøgeordPakker oprettes ved hjælp af "Pakke" nøgleord.Interface oprettes ved hjælp af "Interface" nøgleord.
Syntakspakke pakkenavn;
offentlig klasse klassens navn {
.
(klasse af klasse)
.
}
interface interface_navn {
variabel erklæring;
metodedeklaration;
}
AdgangEn pakke kan importeres En grænseflade kan udvides med en anden grænseflade og implementeres af klassen.
Adgang til nøgleord Pakker kan importeres ved hjælp af "import" nøgleord.Grænseflader kan implementeres ved hjælp af "implementer" nøgleord.


Definition af pakker

Pakker er samling eller grupper af forskellige klasser og grænseflader. Klasserne i pakker er relateret til hinanden i et vist omfang eller efter arv. Du kan også oprette din pakke og bruge den til dit program.

Oprettelse af en pakke

Følg nedenstående trin for at oprette en pakke.

  1. Åbn en fil, og erklær derefter navnet på pakken øverst i filen, ligesom pakkenavnet er det navn, du vil give pakken.
  2. Dernæst definerer du en klasse, du vil lægge i pakken, og husk, at du erklærer den for offentlig.
  3. Gem filen som en .java-fil, og kompilér derefter filen, så fås ".class" til den fil.
  4. For at oprette en pakke til denne fil er den anvendte kommando “javac -d. file_name.java. Du kan se, at pakken er oprettet, der indeholder en ”.klasse” -fil i det aktuelle bibliotek. Brug “javac -d til at placere det i overordnet bibliotek. . file_name.java ”kommando.
  5. Du kan også oprette en underpakke ved at angive navnet på pakken som øverst i filen.

pakke Mypackage; public class myclass {public void displayMypackage () {system.out.ln ("metode displayMypackage of class myclass of package Mypackage"); }

Brug af pakken


De pakker, der er oprettet eller tilgængelige i biblioteket, kan bruges i programmet ved hjælp af en importerklæring. Nøgleordet, der bruges til at importere en hvilken som helst pakke i dit program, er “import”. Importerklæringen kan skrives på to måder, eller du kan sige, at der er to måder at få adgang til en hvilken som helst pakke. For det første, hvis du vil bruge en bestemt klasse fra en pakke, efterfølges "import" -søgeordet af pakkenavnet yderligere efterfulgt af dot-operatoren og det klassens navn, som du vil bruge fra pakken. For det andet, hvis du vil bruge mange klasser, der er indeholdt i pakkerne, følges import-nøgleordet af pakkenavnet yderligere efterfulgt af prikken og “*” -operatøren.

import pakkenavn. class_name; eller importer pakkenavn. *;

I ovenstående kode kan du se * -tegnet, der angiver, at den anden metode importerer alle klasser indeholdt i pakkerne.

Lad os nu se brugen af ​​pakken med et eksempel.

import Mypackage. myclass {class TestMypackage {public static void main (string args) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // outputmetode displayMackage of class myclass of package Mypackage.

I ovenstående kode har klassen TestMypackage importeret pakken Mypackage og brugt dens displayMypackage () -metode.

Definition af interface

Interface er en slags klasse, men adskiller sig i en forstand, at de metoder, der er erklæret i interface, er abstrakte, hvilket betyder, at metoderne kun er deklareret, men ikke defineret. Felterne i grænsefladen er altid offentlige, statiske, endelige. Felterne skal initialiseres på erklæringstidspunktet. Metoderne, der er deklareret af grænsefladen, defineres af den klasse, der implementerer denne grænseflade i henhold til dens krav. Da metoderne i grænsefladen ikke udfører nogen funktion, så det ikke er nyttigt at oprette noget objekt på grænsefladen. Derfor kan der ikke oprettes noget objekt til grænsefladen.

Grænsefladen kan også arve den anden grænseflade, men klassen, der arver en sådan grænseflade, skal også implementere alle metoder til den arvede grænseflade. Da felterne initialiseres på tidspunktet for deres erklæring i grænsefladen, så der ikke er behov for konstruktør i grænsefladen, indeholder grænsefladen ikke nogen konstruktør. Lad os se eksemplet på at oprette og bruge en grænseflade.

interface Area {float pi = 3,14; float find_area (float a, float b) {} klasse Cirkel implementerer Areal {float find_area (float a, float b) {return (pi * a * a); } Klasseformer {public static void main (string args) {Area A = new Area (); Cirkel C = ny cirkel (); A = C; float F = Areal. find_area (10,10); system.out.ln ("Cirkelområdet er:" + F); }

I ovenstående kode havde vi oprettet et interface-område, og klassen Circle har implementeret interface-området. Feltet "pi" er initialiseret i grænsefladen på tidspunktet for dens erklæring. Klassen Circle har defineret den abstrakte metode for klasseområdet efter dets krav.

  1. En pakke er en gruppe af klasser og grænseflader sammen, mens en grænseflade er en gruppe af abstrakte metoder.
  2. Pakken oprettes ved hjælp af et nøgleord pakke der henviser til, at der oprettes en grænseflade ved hjælp af et nøgleord grænseflade.
  3. Hvis der skal bruges en klasse eller en grænseflade i en pakke, er pakken, der skal importeres, mens en grænseflade skal implementeres.

Konklusion:

Både pakker og interface er containerne. Pakken reducerer størrelsen på koden, da vi bare importerer den klasse, der skal bruges, i stedet for igen at definere den.Mens grænsefladen mindsker forvirringerne, der forekom under flere arv, for i tilfælde af flere arv, skal arveklassen ikke beslutte den definition af, hvilken metode den skal arve, i stedet definerer den sin egen.