Citat:
Ivand: Interfejsi su vrsta apstraktnih klasa , stim sto mogu imati i argumetne sto apstraktne klase u javi nemogu i jos par sitnih razlika.
Ne bih se složio. Pokušaću da objasnim ukratko, a da bude jasno, nadam se da ću uspeti.
Interfejsi služe da se specificira ponašanje objekata neke klase. Znači, navode se metode koje će objekti da imaju.
U poređenju sa apstraktnim klasama, apstraktne klase mogu da implementiraju neke metode, a neke ne, pa onda klase koje ih nasleđuju moraju same da implementiraju "neimplementirane" metode. Klase koje implementiraju neki interfejs moraju da implementiraju SVE metode iz interfejsa, ako to ne urade onda moraju biti apstraktne.
Sve je tesno u vezi sa nasleđivanjem, a posebno je važno i zbog toga što Java ne podržava višestruko nasleđivanje.
Ako razumeš čemu služe apstraktne klase, onda je nabolje da interfejs shvatiš kao apstraktnu klasu kod koje su SVE metode apstraktne.
Ovde sam pričao samo o metodama, jer je to po mom mišljenju važnije za tvoju nedoumicu. O poljima drugi put, ako te baš zanima.