Computers, Programming
Java Generics: kev piav qhia thiab kev
Pib nrog lub tsos ntawm cov Java lus muaj undergone ib tug ntau ntawm cov kev hloov, uas undoubtedly coj zoo moments nyob rau hauv nws cov functionality. Ib tug ntawm cov tseem ceeb kev hloov yog cov kev taw qhia ntawm Java Generic los yog kwvyees. Qhov no functionality tsis tau tsuas yog ua tau cov lus ntau saj zawg zog thiab ntau yam, tab sis kuj ntau nyob xeeb dua qub nyob rau hauv cov nqe lus ntawm coj cov ntaub ntawv hom.
Qhov tseeb yog tias ua ntej cov kev taw qhia ntawm Generics nyob rau hauv Java generic code yuav tau tsim, tsis tau tsuas yog nyob rau hauv cov nqe lus ntawm hom siv Nruas. Tej mus yuav raug muab tso ib yam khoom. Tom qab tag nrho, cov chav kawm nyob rau hauv Java yog implicit Nruas chav kawm ntawv qub txeeg qub teg. Txawm li cas los, qhov no mus kom ze yog ib tug neeg qhov twg los ntawm ntau uas tsis muaj feem xyuam rau kev ruaj ntseg hom nyob rau hauv lub khees hloov dua siab tshiab ntawm ib tug kwv los ntawm lub Nruas mus rau lub hom phiaj hom. Thaum uas siv cov kwvyees tag nrho casts yog ua implicitly thiab txiav, tshem tawm txawm lub peev xwm rau kom raug.
Java Generics: kev piav qhia thiab piv txwv
Cia peb xav txog ib tug piv txwv yooj yim rau daim ntawv thov ntawm generalization rau kev kawm nyob rau hauv daim duab hauv qab no. Thiab ces npaj mus rau ib tug ncauj lus kom ntxaws kev soj ntsuam ntawm tag nrho cov subtleties thiab nuances ntawm Java Generic.
Xyuam xim rau txoj kev nyob rau hauv uas cov chav kawm ntawv tshaj tawm no tshwm sim Khub. Tam sim ntawd tom qab lub chav kawm ntawv lub npe, qhib lub nkhaus, uas qhia cov tsab ntawv T. Nws yog ib yam ntawm cov muab tub lim, uas yog nyob rau hauv tus txheej txheem ntawm kev tsim ib qho piv txwv ntawm no hauv chav kawm ntawv yuav tsum tau hloov los ntawm ib hom. Nws zoo raws li nram no: Khub
Ceeb toom: pib nrog lub yim version ntawm lub Java, specifying lub hom phiaj hom thaum hais tias siv lub nkhaus nyob rau hauv lub constructor thiaj yuav laug tas. Yog li ntawd piv txwv yuav sau dua tshiab raws li saum toj no: Khub
Thaum ib hoob kawm yog tshaj tawm hais tias nyob rau hauv xws li ib tug txoj kev, ces nyob rau hauv nws lub cev es tsis txhob ntawm tej yam ntawm liaj teb, kev mus, cov khoom rov qab los ntawm txoj kev koj yuav siv tau tsab ntawv ntawd. Txij li thaum T thaum tsim cov chav kawm ntawv kwv yog hloov los ntawm ib tug kev hom, thawj thiab thib ob teb nyob rau hauv rooj plaub no yuav tsum tau ntawm lub hom zauv.
Ua raws li cov logic ntawm cov nqe lus thiab firstItem secondItem, xa mus rau tus uas tsim nyog constructor kuj yuav tsum muaj hom integer los yog subclass. Yog hais tias koj sim mus rau kis ib tug cov ntaub ntawv hom uas yog txawv los ntawm dab tsi yog kev cai tswjhwm thaum tsim ib tug kwv, cov compiler yuav tsis cia qhov no yuam kev lawm. Yog li, cov nqe lus constructor thaum ib tug kwv yuav tsum tau raws li nram no: Khub
Generalized nrog ob peb tsis chav kawm ntawv hom
Nyob rau hauv generalized cov chav kawm ntawv muaj peev xwm tseem tshaj tawm hais ntau yam tsis muaj lub hom uas teev nyob rau hauv lub nkhaus nrog ib tug tsis nco qab. Redesigned los ntawm ib tug cov ntaub ntawv Khub chav kawm ntawv yog hais hauv qab no.
Raws li koj tau pom, thaum koj ua ib tug piv txwv ntawm no hauv chav kawm ntawv nyob rau hauv lub nkhaus yuav tsum qhia tias tus tib tooj ntawm hom ua tsis. Yog hais tias koj yeej paub txog qhov no hom ntawm cov ntaub ntawv qauv raws li ib daim ntawv qhia, koj yuav pom tias nws yuav siv raws nraim tib yam ntsiab cai. Muaj, thawj sib cav qhia txog lub hom tseem ceeb, thiab lub thib ob - lub hom ntawm tus nqi. Nws yuav tsum tau muab sau tseg tias hom kis thaum ib tug kwv nqe lus tej zaum yuav sib tshooj. Piv txwv li, lub nram qab no ad Khub chav kawm ntawv Piv txwv li yog kiag li lawm: Khub
Ib co nta ntawm kwvyees
Ua ntej yuav mus ntxiv, nws yuav tsum tau muab sau tseg tias Java compiler tsis tsim txawv versions ntawm cov chav kawm ntawv Khub. Nyob rau hauv qhov tseeb, nyob rau hauv tus txheej txheem ntawm compiling ib tug generalized hom tag nrho cov ntaub ntawv yog deleted. Xwb, koj coj cov tsim nyog yam, tsim ib tug tshwj xeeb version ntawm lub Khub chav kawm ntawv. Txawm li cas los, nyob rau hauv qhov kev pab cuam muaj yog tseem tsuas ib tug generic version ntawm cov chav kawm ntawv. Qhov no yog hu ua nyob rau hauv Java Generic tu hom.
Nco ntsoov ib qho tseem ceeb point. Links mus txawv versions ntawm tib java generic chav kawm ntawv muaj peev xwm tsis taw tes rau ib tug thiab tib yam khoom. Uas yog, piv txwv peb muaj ob links: Khub
Txwv rau cov generic cov chav kawm
Nws yog ib qho tseem ceeb kom paub hais tias kwvyees yuav tau mus thov tsuas reference hom, uas yog kis tsis generic chav kawm ntawv java sib cav yuav tsum muaj ib tug hauv chav kawm ntawv hom. Cov yooj yim hom, xws li, e.g., muab ob npaug rau los yog ntev, tsis tau kis. Nyob rau hauv lwm yam lus, cov nram qab no kab Khub chav kawm ntawv tshaj tawm yog tsis tau tso cai: Khub
Lwm loj txwv yog lub cev tsis tsim ib qho kev piv txwv ntawm lub parameter hom. Piv txwv li, cov nram qab no kab yuav ua rau ib tug muab tso ua ke yuam kev: T thawj = tshiab T (). Qhov no yog cuab kev, vim hais tias koj tsis paub nyob rau hauv ua ntej seb puas muaj kev sib cav dhau ib tug tag nrho cov chav kawm ntawv los yog paub daws teeb, los yog txawm interface. Cov tib mus rau txoj kev kom arrays.
tsawg hom
Heev feem ntau muaj tej yam teeb meem thaum nws yog tsim nyog los txwv cov daim ntawv teev cov hom uas kis tau raws li ib tug sib cav rau Java generic chav kawm ntawv. Cia peb xav hais tias nyob rau hauv peb cov chav kawm ntawv Khub peb xav encapsulate tsuas yog tus zauv tseem ceeb rau ntxiv zauv hauj lwm rau lawv. Ua li no peb yuav tsum tau los txhais tau lub sab sauv txwv ntawm cov parameter hom. Nws yog pom tau hais los ntawm txoj kev ntawm ib tug superclass tawm pub tag nrho cov nqe lus dhau nyob rau hauv lub nkhaus. Nws yuav saib raws li nram no: hoob Khub
Qhov no yog ib qho kev txais tos. Tej txwv yog feem ntau siv los mus muab compatibility hom tsis nyob rau hauv ib tug thiab tib chav kawm ntawv. Xav txog cov piv txwv nyob rau hauv peb cov chav kawm ntawv Khub: chav kawm ntawv Khub
Tswj lub "hauv qab" yog raws nraim tib txoj kev, tab sis es tsis txhob ntawm lo lus kom zoo sau lo lus super. Qhov ntawd yog dej num hauv chav kawm ntawv Khub
Generic Java txoj kev thiab constructors
Nyob rau hauv Java, kwvyees yuav tau mus thov tsis tau tsuas yog rau cov chav kawm ntawv, tab sis kuj txoj kev. Piv txwv li, ib tug generic txoj kev yuav tsum tshaj tawm hais tias nyob rau hauv ib tug ib txwm chav kawm ntawv.
Raws li pom nyob rau hauv cov duab saum toj, lub ad generalized txoj kev yog tsis muaj big deal. Txaus ua ntej rov qab hom ib txoj kev los muab lub kaum sab xis nkhaus thiab qhia kom meej hom tsis nyob rau hauv lawv.
Yog hais tias txhua yam yog ua li cas piv rau lub constructor:
Lub nkhaus nyob rau hauv cov ntaub ntawv no muab tso rau ua ntej lub npe ntawm tus designer, vim hais tias nws muaj tsis muaj rov qab muaj nqis. Cov tshwm sim ntawm tag nrho ob qho kev pab cuam yuav tsum:
integer
txoj hlua
Similar articles
Trending Now