Jak to jest, że interfejsy w Javie posiadają abstrakcyjne metody czyli takie do których implementujący dany interfejs musi napisać kod, a implementując interfejs np. Iterable mamy metody, które od razu działają? Nie muszę pisać kod metody hasNext() np. Nie potrafię tego pojąć koncepcjonalnie.
Ktoś wytłumaczy jak chłopu z pola?