Junior
Miks mõnedes liidestes meetodeid ei määratleta?
sobes.tech AI
Vastus AI-lt
Sellist tüüpi liidest nimetatakse marker-liidesteks (märgistusliidesteks). Need ei sisalda meetodeid ja neid kasutatakse klasside märgistamiseks, näidates kompilaatorile või JVM-le teatud omadusi või semantikat.
Näited:
java.io.Serializable: Märgib klassi serialiseeritavaks.java.lang.Cloneable: Näitab, et objekt võib olla kloonitav.java.util.RandomAccess: Optimeerib juhusliku juurdepääsu loendi elementidele.
Eelised:
- Semantika: Näitavad selgelt arendaja kavatsust klassi suhtes.
- Polümorfism: Võimaldavad kasutada polümorfseid väljakutseid, töötades sama marker-liidese rakendanud klasside grupiga.
- Märgistus: Võivad olla kasutusel täiendava teabe edastamiseks tööriistadele (näiteks raamistikud, ORM).
Alternatiivid (sõltuvalt kontekstist):
- Anotatsioonid (
@interface). - Abstraktsed klassid.
Marker-liideseid eelistatakse, kui on vaja märkida klassi atribuut ilma käitumist lisamata.