Kas ir Generics Java? - ceļvedis iesācējiem

Šis raksts par Java vispārīgajiem paņēmieniem sniegs īsu ieskatu par to, kas ir Java vispārīgie veidi un to veidi, kā arī piemērus.

Apsveriet piemēru, kurā jums jāsastāda apdzīvoto vietu saraksts. Nav svarīgi, vai tas ir cilvēks, dzīvnieks vai augs. Svarīgi ir tikai dzīvā būtne. Šajā gadījumā jūs visus sagrupējat kā “Dzīvās būtnes” un nekategorizējat. Līdzīgi, kad jums ir jāuzglabā daži dati, jums ir svarīgs saturs, nevis datu tips, un tur jūs izmantojat Generics. Ģenērika ir valodas iezīme, kas ļauj izmantot vispārīgus veidus un metodes.

Zemāk ir saraksts ar tēmām, kuras es apskatīšu šajā rakstā:





Kas ir Generics Java?

Generics ir termins, kas apzīmē valodas iezīmju kopumu, kas saistīts ar vispārīgo tipu un metožu definēšanu un lietošanu. Java Generic metodes atšķiras no parastajiem datu tipiem un metodēm. Pirms Generics mēs izmantojām uzglabāt jebkura veida objektus, t.i. nav vispārējs . Tagad Generics piespiež programmētājs, lai saglabātu noteikta veida objektus.

Tagad, kad jūs zināt, kas ir Generics Java, pārejiet tālāk un sapratīsim, kāpēc jums ir nepieciešama Java Generics.



Kāpēc Java Generics?

Ja paskatās uz klases, tad ievērosiet, ka lielākā daļa klašu ņem objekta tipa parametru / argumentu. Būtībā šajā formā viņi var izmantot jebkuru Java tipu kā argumentu un atgriezt to pašu objektu vai argumentu. Tās būtībā ir neviendabīgs i., nav līdzīga veida.

FrameworkHierarchy - Generics in Java - Edureka

Dažreiz Java lietojumprogrammā ievades datu tips nav fiksēts. Ievade var būt vesels skaitlis , uz peldēt vai . Lai piešķirtu ievadi pareizā datu tipa, bija jāveic iepriekšējas pārbaudes. Tradicionālajā pieejā pēc ievades uzņemšanas tika pārbaudīts ievades datu tips un pēc tam piešķirts pareizā datu tipa mainīgajam. Lietojot šo loģiku, koda garums un izpildes laiks tika palielināts. Lai no tā izvairītos, Tika ieviesti vispārēji medikamenti . Lietojot Generics, koda parametri tiek automātiski pārbaudīti sastādīšanas laikā, un pēc noklusējuma tas nosaka datu tipu. Tāpēc tieši šeit jums ir nepieciešams Java vispārīgo jēdziens.



c ++ goto paziņojums

Tagad, kad esat ieguvis nelielu ieskatu par Generics, virzīsimies uz priekšu un apskatīsim dažādus veidus, kā to izdarītAvota kodam var piemērot vispārīgus.

Java Generics veidi

Ir 4 dažādi veidi, kā Generics var lietot Java, un tie ir šādi:

  1. Vispārējā tipa klase
  2. Vispārīga saskarne
  3. Vispārējā metode
  4. Vispārējs konstruktors

Tagad sapratīsim, kā vispārīgi var padziļināti piemērot tipu klases.

1. Vispārējā tipa klase

Tiek uzskatīts, ka klase ir vispārīga, ja tā deklarē vienu vai vairākus tipa mainīgos. Šie mainīgo tipi ir pazīstami kā . Sapratīsim to ar piemēra palīdzību. Šajā piemērā es izveidošu klasi ar vienu īpašumu x un īpašuma tips ir objekts.

class Genericclass {private Object x public void set (Object x) {this.x = x} public Object get () {return x}}

Pēc tam, kad jūs inicializējat klasi ar noteiktu tipu, klase ir jāizmanto tikai ar šo konkrēto tipu. Piem., Ja vēlaties, lai vienā klases instancē būtu vērtība x tipa ‘ Stīgas ‘, Tad programmētājam jāiestata un jāiegūst vienīgais tips. Tā kā īpašuma veidu esmu deklarējis objektam, nav nekādu iespēju ieviest šo ierobežojumu. Programmētājs var iestatīt jebkuru objektu un no tā var sagaidīt jebkuru atgriešanās vērtības tipu iegūt metodi jo visi Java veidi ir klasē.

Lai ieviestu šāda veida ierobežojumus, mēs varam izmantot šādus vispārīgus medikamentus:

class Genericclass {// T apzīmē 'Type' private T x public void set (T x) {this.x = x} public T get () {return x}}

Tagad jūs varat būt drošs, ka klase netiks izmantota nepareizi ar nepareiziem tipiem. Vienkāršs piemērs' Vispārējā klase Izskatās šādi:

Genericclass instance = new Genericclass () instance.set ('Edureka') instance.set (10) // Tas radīs kompilēšanas laika kļūdu

Tā tas darbojas. Šisanaloģija attiecas arī uz saskarni. Ātri apskatīsim piemēru, lai saprastu, kā vispārīgo veidu informāciju var izmantot Java saskarnēs.

2. Vispārīga saskarne

An attiecas uz abstraktiem datu tipiem. Viņi atļauj manipulēt neatkarīgi no viņu pārstāvības detaļām. Viņi arī veido hierarhiju valodās. Sapratīsim, kā vispārīgo tipu var piemērot Java saskarnēm.

// Vispārējās saskarnes definēšanas saskarne GenericInterface {T2 PerformExecution (T1 x) T1 ReverseExecution (T2 x)} // Klase, kas ievieš vispārējās saskarnes klasi Genericclass īsteno GenericInterface {public Integer PerformExecution (String x) {// izpildes kods} public String ReverseExecution ( Vesels skaitlis x) {// izpildes kods}}

Es ceru, ka jūs varējāt saprast, kā Generics var pielietot tipa klasēs un saskarnēs. Tagad iedziļināsimies šajā rakstā dziļāk un sapratīsim, cik tas noder metodēm un konstruktoriem.

3. Vispārīgās metodes

Vispārīgās metodes ir daudz līdzīgas vispārīgajām klasēm. Tās atšķiras viena no otras tikai ar vienu aspektu darbības joma vai tipa informācija ir tikai metodes iekšpusē. Vispārējās metodes ievieš savus tipa parametrus.

Sapratīsim to ar piemēru. Tālāk ir sniegts vispārējas metodes piemērs, kuru var izmantot, lai mainīgo sarakstā atrastu visus tipa parametru gadījumus.

public static int countAllOccurrences (T [] saraksts, T elements) {int skaits = 0 if (elements == null) {par (T listElement: saraksts) if (listElement == null) skaits ++} cits {par (T listElement: saraksts ) if (element.equals (listElement)) skaits ++} atgriešanās skaits}

Ja jūs izturēsit sarakstu ar Virkne meklēt šajā metodē, tas darbosies labi. Bet, ja jūs mēģināt atrast numuru virknes sarakstā, tas radīs kompilēšanas laika kļūdu.

Šī līdzība ir līdzīga arī konstruktoram. Ņemsim piemēru vispārīgajam konstruktoram un sapratīsim, kā tas darbojas.

4. Vispārējais konstruktors

Celtniekam ir koda bloks, kas inicializē jaunizveidoto objektu. A celtnieks atgādina instances metodi J ava taču tā nav metode, jo tai nav atgriešanās veida. Konstruktors ir tāds pats nosaukums kā klasei un izskatās šādi Dž ava kods. Tagad ņemsim piemēru un sapratīsim, kā tas darbojas.

klase Izmēri {privātais T garums privātais T platums privātais T augstums // Vispārējais konstruktora publiskais izmērs (T garums, T platums, T augstums) {super () this.length = length this.width = width this.height = height}}

Iepriekš minētajā piemērā Dimension klases konstruktoram ir informācija par tipu. Tātad jums var būt dimensijas gadījums ar visiem viena veida atribūtiem. Tātad šādā veidā jūs varat izmantot ģenerikas tipa konstruktorus. Es ceru, ka jūs sapratāt Java vispārīgos veidus.

Tagad virzīsimies tālāk un aplūkosim Generics priekšrocības Java.

Generics priekšrocības Java

1. Kodu atkārtota izmantošana

Jūs varat sastādīt stratēģiju, klasi vai an vienreiz un izmantojiet jebkura veida vai jebkuram jums nepieciešamam veidam.

2. Individuālu veidu liešana nav nepieciešama

Būtībā jūs atguvāt informāciju no katru reizi jums tas ir jāpieprasa. Katras atkopšanas uzdevuma rakstīšana ar rakstzīmēm ir galvenā migrēna. Lai izskaustu šo pieeju, tika ieviesti vispārīgi medikamenti.

3. Neviēriska algoritma ieviešana

Tas var aprēķināt algoritmus, kas darbojas dažādu veidu priekšmetos, kas ir arī droši.

Tas viss bija par Java Generics priekšrocībām. Ar to mēs esam nonākuši pie šī raksta par Java vispārējiem jautājumiem. Es ceru, ka jūs to uzskatījāt par informatīvu un palīdzējāt saprast Java Generics.

Pārbaudiet Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Mēs esam šeit, lai palīdzētu jums katrā solī jūsu ceļojumā, lai kļūtu par papildus šiem Java intervijas jautājumiem, mēs piedāvājam mācību programmu, kas paredzēta studentiem un profesionāļiem, kuri vēlas būt Java izstrādātāji. Kurss ir paredzēts, lai dotu jums iespēju sākt Java programmēšanu un apmācīt gan Java, gan uzlabotas koncepcijas, kā arī dažādas Java struktūras, piemēram, Hibernate & Spring.

Vai mums ir jautājums? Lūdzu, pieminējiet to komentāru sadaļā “Generics in Java ”Rakstu un mēs pēc iespējas ātrāk sazināsimies ar jums.