10.-es előadás Flashcards
Mi az a javainterfész? Mit tartalmazhat (csak felsorolás)?
Egy referencia típus, hasonlóan az osztályhoz. Konstansokat, metódus signatúrákat, default metódusokat, statikus metódusokat és beágyazott típusokat tartalmazhat. Nem lehet példányosítani, és csak osztály implementálhatja, esetleg más intefész extendelheti.
Mire szolgál a Java Interfész default metódusa?
Az interfészben absztrakt, default és statikus metódusok lehetnek. A deafult metódus alapból public, tehát a modifier elhagyható. Arra szolgál, hogy új funkcionalitást adjunk a könyvtárainknak és segíti a kompatibilitást a régebben megírt kódjainkal.
Java interfészek közötti öröklés, Java interfész és osztály közötti öröklés:
Interfész extendelhet több másik interfészt is. Ezentúl egy osztály több interfészt is implementálhat. Default és abstract metódusok példány metódusként öröklődnek. Ha több default metódus ugyan azzal a signatúrával öröklődik, akkor szabályok szerint elkerüli a compiler a konfliktust.
Példány metódusok előnyben.
Már máshol override-lt metódust nem vesz figyelembe.
Hogyan lehet használni egy Java interfészt?
Írni kell egy osztályt mely az interfészt implementálja. Amikor egy példányosítható osztály implementálja akkor az interfész metódusai body-t kapnak.
Java interfészekben definiált default metódusok ha az öröklés során konfliktusba kerülnek, annak mi lesz a feloldása?
Ha több default metódus ugyan azzal a signatúrával öröklődik, akkor szabályok szerint elkerüli a compiler a konfliktust.
Példány metódusok előnyben.
Már máshol override-lt metódust nem vesz figyelembe.
Comparable interfész
Egyetlen egy metódusa a compareTo(T o) amely visszaad egy pozitív vagy negatív számot vagy 0-t annak fényében, hogy kisebb, nagyobb vagy egyenlő-e a két objektum. Ennek implementálása teszi lehetővé a sortolást.
Comparator interfész
Egyenlet metódusa a compare(T o1 T o2) amely visszaad egy pozitív vagy negatív számot vagy 0-t annak fényében, hogy kissebb, nagyobb vagy egyenlő a két objektum. A Comparable intefésszel szemben ez több összehasonlítási lehetősséggel bír.