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, Svibanj
Anonim

Metode sučelja su po definiciji javni i sažetak , pa ne možete imati ne - apstraktne metode u vašem sučelje . u Javi, metode sučelja su javni i sažetak prema zadanim postavkama. Dakle, prva opcija je loša praksa. Poanta je da ti limenka ne koristiti ne - apstraktne metode unutar sučelje , jer jesu sažetak prema zadanim postavkama.

Osim toga, može li sučelje imati apstraktne metode?

An sučelje je kao "čisto" sažetak razreda. Klasa i sve u njoj metode su sažetak . An sažetak razreda mogu imati implementiran metode ali se sama klasa ne može instancirati (korisno za nasljeđivanje i praćenje DRY). Ako implementirate Sučelje onda morate implementirati metode u sučelje.

Također, može li apstraktna klasa imati neapstraktne metode? da mi mogu imati an apstraktna klasa bez Apstraktne metode budući da su oba neovisna pojma. Proglašavanje a razredni sažetak znači da to limenka ne instanciraju se sami i limenka biti samo podklasirani. Proglašavanje a metoda apstraktna znači da Metoda će biti definiran u podklasi.

Osim toga, možemo li definirati metode u sučelju?

Poput razreda, an sučelje može imati metode i varijable, ali metode deklarirano u an sučelje su prema zadanim postavkama apstraktne (samo metoda potpis, bez tijela). Sučelja odrediti što klasa mora čini a ne kako. Ako klasa ovo implementira sučelje , onda to limenka koristiti za sortiranje zbirke.

Moraju li se implementirati sve metode u sučelju?

Da, obavezno je implementirati sve the metode u klasi koja implementira an sučelje osim ako i dok ta klasa nije apstraktna klasa. Vas imati dva izbora: - implementirati svaki metoda zahtijevaju sučelje ili - proglasiti nestale metode sažetak u svom razredu.

Preporučeni: