Konkretna klasa u Javi

1. Uvod

U ovom kratkom vodiču, razgovarat ćemo o pojmu "konkretna klasa" na Javi.

Prvo ćemo definirati pojam. Zatim ćemo vidjeti kako se razlikuje od sučelja i apstraktnih klasa.

2. Što je betonska klasa?

Konkretna klasa je klasa za koju možemo stvoriti primjerak pomoću novi ključna riječ.

Drugim riječima, to je a puna provedba njegovog nacrta. Konkretna klasa je završena.

Zamislite, na primjer, a Automobil razred:

javni razred automobila {public String honk () {return "bip!"; } javni String pogon () {return "vroom"; }}

Budući da su sve njegove metode implementirane, nazivamo je konkretnom klasom i možemo je stvoriti u instance:

Automobil = novi automobil ();

Neki primjeri konkretnih klasa iz JDK su HashMap, HashSet, ArrayList, i LinkedList.

3. Java apstrakcija naspram konkretnih klasa

Ipak, sve vrste Java ne implementiraju sve svoje metode. Ova fleksibilnost, također nazvana apstrakcija, omogućuje nam da generalno razmišljamo o domeni koju pokušavamo modelirati.

U Javi apstrakciju možemo postići pomoću sučelja i apstraktnih klasa.

Idemo bolje pogledati konkretne satove uspoređujući ih s ovim drugima.

3.1. Sučelja

Sučelje je nacrt klase. Ili, drugim riječima, njegova zbirka neprovedenih potpisa metode:

sučelje Vozljivo {void honk (); void vožnja (); }

Imajte na umu da koristi sučelje ključna riječ umjesto razred.

Jer Vozljiv ima neprimjenjene metode, ne možemo ga instancirati s novi ključna riječ.

Ali, konkretne klase poput Automobil mogu primijeniti ove metode.

JDK pruža niz sučelja poput Karta, Popis, i Postavi.

3.2. Sažetak nastave

Apstraktna klasa je klasa koja ima neprovedene metode, iako zapravo može imati oboje:

javni sažetak klase Vozilo {javni sažetak String honk (); javni String pogon () {return "zoom"; }}

Imajte na umu da ključnu riječ označavamo apstraktne klase sažetak.

Opet, od Vozilo ima neprimijenjenu metodu, gakati, nećemo moći koristiti novi ključna riječ.

Neki primjeri apstraktnih klasa iz JDK su SažetakKarta i SažetakPopis.

3.3. Klase betona

U kontrastu, konkretne klase nemaju neprimjenjene metode. Bez obzira jesu li implementacije naslijeđene ili ne, sve dok svaka metoda ima implementaciju, klasa je konkretna.

Konkretne klase mogu biti jednostavne poput naše Automobil primjer ranije. Oni također mogu implementirati sučelja i proširiti apstraktne klase:

javna klasa FancyCar proširuje Vozila implementira Vozač {public String honk () {return "bip"; }}

The Lijep auto klasa pruža implementaciju za gakati i nasljeđuje provedbu voziti iz Vozilo.

Kao takav, nema neprimijenjenih metoda. Stoga možemo stvoriti a Lijep auto instanca klase s novi ključna riječ.

FancyCar auto = novi FancyCar ();

Ili, jednostavno rečeno, sve klase koje nisu apstraktne, možemo nazvati konkretnim razredima.

4. Sažetak

U ovom kratkom vodiču naučili smo o konkretnim razredima i njihovim specifikacijama.

Pored toga, pokazali smo razlike između sučelja i konkretnih i apstraktnih klasa.