Czy interfejs ma dostęp do pól/metod klasy która go implementuje ?

0

Witam
Mam pytanko jak z poziomu interfejsu który jest implementowany w mojej klasie sprawdzić w metodzie jakieś pole i przykładowo je porównać ? Ta konstrukcja nie działa ale jak w metodzie defaultowej można i czy można badać jakoś obiekty(ich pola) klas które implementują dany interfejs.
Dzieki za ewentualne odpowiedzi.
Pozdrawiam

public class Hero  implements Cloneable, JakisInterfejs {
    private String name;
    private int life;

... konstruktor, getery i inne metody...
}

public interface JakisInterfejs {
    default boolean vis(){
        if (getName().equals("Pattern")) return true;
        return false;
    }
}
0

i czy można badać jakoś obiekty(ich pola) klas które implementują dany interfejs.

Nie powinno się tak robić (poczytaj o zasadach SOLID) - jeśli jednak z jakiegoś powodu musisz, masz w aplikacji błąd projektowy.
Opisz konkretniej, co chcesz osiągnąć.

1

Możesz w tym swoim przykładzie w interfejsie JakisInterfejs zrobić metodę getName() którą każda subklasa musi implementować i wtedy to zadziała.

1 użytkowników online, w tym zalogowanych: 0, gości: 1