Glavna ideja apstraktne klase je sljedeća teza: ponekad nema spremnih klasa, nego u "sirovom" obliku. Takvi se radni dijelovi ne mogu izravno koristiti (stvarati instance).
Što je apstraktna klasa Java
Apstraktne klase, apstraktne Java metode
Ako u klasi postoje apstraktne metode, onda je klasa apstraktna. Prije klase riječi stavlja se i ključna riječ sažetka u naslovu metode. Nakon naslova ove metode trebate postaviti točku-zarez. U Javi apstraktna klasa ne može generirati instance. Ako želimo zabraniti njihovo stvaranje, čak i ako ne postoje apstraktne metode u klasi, onda se klasa može proglasiti apstraktnom. Ali ako postoji barem jedna apstraktna metoda u razredu, onda bi razred trebao biti apstraktan. Nemoguće je da je razred bio apstraktan i konačan, ai metoda. Metoda ne može biti apstraktna, privatna, statična, izvorna. Da bi se nasljednici razreda mogli proglasiti ne-apstraktnim i stvoriti njihove kopije, moraju provoditi sve apstraktne metode oca. Sam razred može koristiti svoje apstraktne metode. Primjer:
Sučelja u Javi - alternativa višestrukim baštinama
Java nema višestruko nasljeđivanje, jer postoje određeni problemi. Klasa ne može naslijediti iz nekoliko razreda. Ali on može implementirati nekoliko sučelja. Sučelja i apstraktne Java klase su slični koncepti,ali se ne podudaraju. Sučelje se može proglasiti javnim, onda je dostupno svima, ili ne možete navesti javni modifikator, a sučelje je dostupno samo unutar vašeg paketa. Ključna riječ sažetka nije potrebna jer je sučelje apstraktno pa se može specificirati.
Počinje s zaglavljem i može biti praćeno javnom ključnom riječi, nakon čega slijedi riječ sučelje. Tada se mogu slijediti proširenja riječi i popis sučelja iz kojih se može naslijediti dano. Ovdje se ne smije ponavljati, a nemoguće je da odnos nasljeđivanja formira cikličku ovisnost. Zatim dolazi tijelo sučelja, zatvoreno u uvijene zagrade. U tijelu sučelja deklarirani su elementi: polja-konstante i apstraktne metode. Sva polja su statična konačna - nisu potrebni svi modifikatori. Sve metode smatraju se javnim sažetkom - također se mogu specificirati i ti modifikatori. Sada se dovoljno govori o apstraktnoj klasi iz Java sučelja.Javno sučelje AI proširuje B, C, D { //tijelo } Kako bi klasu proglasili nasljednikom sučelja, upotrijebite ključne alate: BI, CI, DI {}To jest, ako je u deklaraciji klase nakon implementacije naveden naziv sučelja, tada ga razred implementira. Nasljednici ove klase dobivaju svoje elemente, tako da i oni to shvaćaju. Dopuštene su i varijable tipa sučelja. Oni se mogu odnositi na tip klase koji implementira ovo sučelje, ili null. Ove varijable imaju sve elemente u klasi Object, jer su objekti generirani iz klasa, a oni su pak naslijeđeni od klaseObjekt. U ovom smo članku pregledali neke elemente Java objektnog modela - apstraktne klase, apstraktne metode i sučelja.