Sprievodca vnútornými rozhraniami v Jave

1. Úvod

V tomto krátkom tutoriáli sa pozrieme na vnútorné rozhrania v Jave. Používajú sa hlavne na:

  • riešenie problému s výmenou mien, keď má rozhranie bežný názov
  • zvýšenie zapuzdrenia
  • zvýšenie čitateľnosti zoskupením súvisiacich rozhraní na jednom mieste

Známym príkladom je Vstup rozhranie deklarované vo vnútri servera Mapa rozhranie. Takto definované rozhranie nemá globálny rozsah a je na neho odkazované ako Mapa. ​​Vstup odlíšiť ho od ostatných Vstup rozhrania a vytváranie jeho vzťahu k Mapa zrejmé.

2. Vnútorné rozhrania

Podľa definície sa vyhlásenie k vnútornému rozhraniu vyskytuje v tele iného rozhrania alebo triedy.

Sú implicitne verejné a statické, rovnako ako ich polia, keď sú deklarované v inom rozhraní (podobné deklaráciám polí v rozhraniach najvyššej úrovne), a môžu byť implementované kdekoľvek:

verejné rozhranie Zákazník {// ... Zoznam rozhraní {// ...}}

Vnútorné rozhrania deklarované v rámci inej triedy sú tiež statické, ale môžu mať špecifikátory prístupu, ktoré môžu obmedzovať možnosti ich implementácie:

public class Customer {public interface List {void add (zákazník zákazníka); Reťazec getCustomerNames (); } // ...}

Vo vyššie uvedenom príklade máme a Zoznam rozhranie, ktoré bude slúžiť ako deklarácia niektorých operácií na zozname Zákazníci napríklad pridávanie nových, získanie a String zastupovanie a pod.

Zoznam je prevládajúci názov a pre prácu s ostatnými knižnicami definujúcimi toto rozhranie musíme oddeliť našu deklaráciu, t. j. menný priestor to.

Toto je miesto, kde využívame vnútorné rozhranie, ak nechceme používať nový názov Zoznam zákazníkov.

Tiež sme držali spolu dve súvisiace rozhrania, čo zlepšuje zapuzdrenie.

Nakoniec môžeme pokračovať v jeho implementácii:

verejná trieda CommaSeparatedCustomers implementuje Customer.List {// ...}

3. Záver

Rýchlo sme sa pozreli na vnútorné rozhrania v Jave.

Ako vždy, vzorky kódu nájdete na GitHub.


$config[zx-auto] not found$config[zx-overlay] not found