MOŽE LI sučelje imati neapstraktne metode?
MOŽE LI sučelje imati neapstraktne metode?

Video: MOŽE LI sučelje imati neapstraktne metode?

Video: MOŽE LI sučelje imati neapstraktne metode?
Video: 🚀 AMAZON 2.0 - ИНТЕРНЕТ МАГАЗИН с нуля за 6 часов [Next / React / Nest / PostgreSQL / Prisma / TS] 2024, Maj
Anonim

Metode interfejsa su po definiciji javni i apstraktno , tako da ne možete nemaju - apstraktne metode u vašem interfejs . u Javi, metode interfejsa su javni i apstraktno po defaultu. Dakle, prva opcija je loša praksa. Poenta je da ti mogu ne koristi non - apstraktne metode unutar interfejs , jer jesu apstraktno po defaultu.

Osim toga, može li interfejs imati apstraktne metode?

An interfejs je kao "čisto" apstraktno klasa. Klasa i sve to metode su apstraktno . An apstraktno klasa može imati implementirano metode ali se sama klasa ne može instancirati (korisno za nasljeđivanje i praćenje DRY). Ako implementirate Interfejs onda morate implementirati metode u interfejs.

Takođe, može li apstraktna klasa imati neapstraktne metode? da mi može imati an apstraktna klasa bez Abstract Methods pošto su oba nezavisna koncepta. Izjavljivanje a razred apstrakt znači da je mogu ne instanciraju se sami i mogu biti samo podklasirani. Izjavljivanje a metod apstrakt znači da Metod će biti definisan u podklasi.

Osim toga, možemo li definirati metode u interfejsu?

Kao klasa, an interfejs može imati metode i varijable, ali metode deklarirano u an interfejs su po defaultu apstraktni (samo metoda potpis, bez tijela). Interfejsi specificirati šta klasa mora uradi a ne kako. Ako klasa ovo implementira interfejs , onda to mogu koristiti za sortiranje kolekcije.

Da li sve metode u interfejsu moraju biti implementirane?

Da, to je obavezno implementirati sve the metode u klasi koja implementira an interfejs osim ako i dok ta klasa nije apstraktna klasa. Vi imati dva izbora: - implementirati svaki metoda zahtijevaju interfejs ili - proglasiti nestale metode apstraktno u svom razredu.

Preporučuje se: