Powiel możliwe:
Protected in InterfacesDlaczego Interfejs nie może być chronione metody
W Javie Dlaczego nie mam chronione metody w interfejsie?
Ponieważ zgodnie ze specyfikacją Java
Protected Access (oznaczone słowem kluczowym zabezpieczony) - pole lub metoda dostępna dla każdego rodzaju w tym samym opakowaniu, a do podklasy w każdym pakiecie.
Jeśli w ogóle muszę korzystać z interfejsu, zamierzam go zaimplementować i zastąpić metody. Więc jeśli zamierzam wdrożyć, gdy klasa ma dostęp do tych metod, ponieważ metoda dostępna w każdym pakiecie. Więc jaka szkoda w deklarowaniu metody jako chronionej w interfejsie?
bardzo dobre pytanie. Dla prawie każdej innej rzeczy na Jawie znalazłem prawdziwy powód dokonanych wyborów, ale tego nie zrobiłem. Sensowne jest dla mnie zdefiniowanie metody chronionej w interfejsie, która pozwala innej klasie w tym samym pakiecie na użycie tej metody na obiekcie implementującym bez konieczności ujawniania tej metody, która może nie być przeznaczona do wywoływania przez kogokolwiek innego niż członków paczki do reszty świata. –
@MarkusA., +1, zobacz także http://stackoverflow.com/questions/5376970/protected-in-interfaces#comment-39795200 – Pacerier