Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 E l l en gu aj e de P ro gr am ac ió n Ja va ™ Ja va y t od as l as m ar ca s b as ad as e n J av a so n m ar ca s re gi st ra d as p ro p ie d ad d e S u n M ic ro sy st em s, I n c. E n l os E st ad os U n id os y e n ot ro s p ai se s. E l co n te n id o d e es te li b ro : “E l le n gu aj e d e p ro gr am ac ió n J av at m ” es i n d ep en d ie n te d e S u n M ic ro sy st em s, In c. M A R C A S R E G IS T R A D A S Su n, e l lo go tip o Su n, S un M ic ro sy st em s, J av aS of t, Ja va B ea ns , J D K , J av a, H ot Ja va , H ot Ja va V ie w s, V is ua l Ja va , S ol ar is , N E O , J oe , N et ra , N F S , O N C , O N C + , O pe nW in do w s, P C -N F S , S N M , S un N et M an ag er , So la ri s su nb ur st d es ig n, S ol st ic e, S un C or e, S ol ar N et , Su nW eb , Su n W or ks ta tio n, T he N et w or k Is T he C om pu te r, T oo lT al k, U lt ra , U lt ra co m pu ti ng , U lt ra se rv er , W he re T he N et w or k Is G oi ng , S un W or kS ho p, X V ie w , J av a W or kS ho p, e l l og o Ja va C of fe e C up , y V is ua l J av a so n m ar ca s re gi st ra da s de S un M ic ro sy st em s, I nc . U N IX e s un a m ar ca r eg is tr ad a en l os E st ad os U ni do s y ot ro s pa ís es , em pl ea do c on l ic en ci a de X /O pe n C om pa ny , L td . O PE N L O O K ® e s un a m ar ca r eg is tr ad a de N ov el l, In c. L os in te rf ac es gr áf ic os O PE N L O O K ® y Su n( T M ) G U I fu er on de sa rr ol la do s po r Su n M ic ro sy st em s, I nc . P ar a su s us ua ri os y li ce nc ia ta ri os . S un r ec on oc e el e sf ue rz o pi on er o de X er ox e n la i nv es tig ac ió n y el d es ar ro llo d el c on ce pt o de i nt er fa ce d e un su ar io g rá fi ca . Su n m an tie ne u na lic en ci a no e xc lu si va d e X er ox s ob re e l in te rf ac e gr áf ic o de u su ar io d e X er ox , qu e pe rm ite a S un im pl em en ta r G U Is O P E N L O O K . X W in do w S ys te m e s un a m ar ca r eg is tr ad a de l X C on so rt iu m , I nc . O pe nS te p es u na m ar ca p ro pi ed ad d e N eX T . 2PR E Á M B U L O ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 9 1. IN T R O D U C C IÓ N ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 1 1. 1 H IS T O R IA D E L L E N G U A JE ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 11 1. 2 ¿Q U É E S JA V A ™ ?. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 12 1. 3 ¿Q U É L O H A C E D IS T IN T O D E L O S D E M Á S L E N G U A JE S? ... ... ... ... ... ... ... ... ... ... ... ... ... 12 1. 3. 1 ¿Q ué s e pu ed e pr og ra m ar c on J av a? ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..1 3 1. 3. 2 ¿E s fá ci l d e ap re nd er ?. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 13 1. 3. 3 C ar ac te rí st ic as d el le ng ua je .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 4 1. 4 L A M Á Q U IN A V IR T U A L JA V A (J V M ). ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 16 1. 5 JA V A SC R IP T ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 7 1. 6 E L E N T O R N O D E D E SA R R O L L O J D K ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 8 1. 6. 1 ¿D ón de c on se gu ir lo ? ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 18 1. 6. 2 E st ru ct ur a de d ir ec to ri os .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 19 1. 6. 3 C on fi gu ra ci ón .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 9 1. 7 PR O G R A M A C IÓ N O R IE N T A D A A O B JE T O S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 20 1. 7. 1 ¿Q ué e s un o bj et o? ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 0 1. 7. 2 C la se s y ob je to s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 21 1. 7. 3 P ro pi ed ad es q ue d eb e cu m pl ir u n le ng ua je p ar a se r co ns id er ad o O ri en ta do a O bj et os .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 23 1. 8 C U E S T IO N E S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 27 2. V IS IÓ N G E N E R A L Y E L E M E N T O S B Á S IC O S D E L L E N G U A JE .. ... ... ... ..2 9 2. 1 H O L A ,M U N D O ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 30 2. 2 C O M E N T A R IO S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 33 2. 3 T IP O S D E D A T O S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 34 2. 4 T IP O S D E D A T O S SI M PL E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 35 2. 5 T IP O S D E D A T O S R E FE R E N C IA L E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 36 2. 6 I D E N T IF IC A D O R E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 37 2. 7 D E C L A R A C IÓ N D E V A R IA B L E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 39 2. 8 Á M B IT O D E U N A V A R IA B L E .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 40 2. 8. 1 V ar ia bl es lo ca le s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 40 2. 8. 2 A tr ib ut os .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ... ... ... ..4 3 2. 8. 3 P ar ám et ro s de u n m ét od o. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 44 2. 9 O PE R A D O R E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .4 6 2. 9. 1 O pe ra do re s ar it m ét ic os :. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 47 2. 9. 2 O pe ra do re s re la ci on al es :. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .4 9 2. 9. 3 O pe ra do re s ló gi co s: ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..5 0 2. 9. 4 O pe ra do re s de b it s: ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 51 2. 9. 5 O pe ra do re s de a si gn ac ió n: ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..5 3 2. 9. 6 P re ce de nc ia d e op er ad or es e n Ja va :. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..5 4 2. 10 C O N ST A N T E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 55 2. 11 V A L O R E S L IT E R A L E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 55 2. 12 E ST R U C T U R A S D E C O N T R O L ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .6 0 2. 12 .1 E st ru ct ur as a lt er na ti va s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 60 3 2. 12 .2 B uc le s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..6 6 2. 12 .3 Sa lt os ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .7 0 2. 13 V E C T O R E S .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 72 2. 14 C U E S T IO N E S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 76 3. L A S C L A S E S E N J A V A .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..7 7 3. 1 D E C L A R A C IÓ N D E C L A SE .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .7 8 3. 1. 1 D ec la ra ci ón d e la s up er cl as e (h er en ci a) .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 79 3. 1. 2 L is ta d e in te rf ac es ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 79 3. 1. 3 M od if ic ad or es d e cl as e. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..8 0 3. 2 EL C U E R PO D E L A C L A SE ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .8 3 3. 3 D E C L A R A C IÓ N D E A T R IB U T O S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 84 3. 3. 1 A tr ib ut os s t a t i c ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..8 5 3. 3. 2 A tr ib ut os f i n a l ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..8 6 3. 3. 3 A tr ib ut os t r a n s i e n t ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 87 3. 3. 4 A tr ib ut os v o l a t i l e ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 88 3. 3. 5 M od if ic ad or es d e ám bi to d e at ri bu to s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 89 3. 4 M É T O D O S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 94 3. 4. 1 D ec la ra ci ón d e m ét od o. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..9 4 3. 4. 2 C ue rp o de l m ét od o. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 10 2 3. 4. 3 C on st ru ct or es .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 10 6 3. 4. 4 D es tr uc to re s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 11 0 3. 5 S T R IN G S .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 10 3. 5. 1 L a cl as e St ri ng .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 11 1 3. 5. 2 L a cl as e St ri ng B uf fe r. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 11 4 3. 6 L A L ÍN E A D E C O M A N D O S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 15 3. 7 IN T E R FA C E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 16 3. 7. 1 D ec la ra ci ón d e in te rf ac e. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 11 7 3. 7. 2 C ue rp o de l i nt er fa ce ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 11 8 3. 8 L O S PA Q U E T E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 12 0 3. 8. 1 D ec la ra ci ón d e pa qu et es .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 20 3. 8. 2 C óm o ha ce r us o de lo s pa qu et es e xi st en te s. ... ... ... ... ... ... ... ... ... ... ... ... ... 12 2 3. 8. 3 P aq ue te s pe rt en ec ie nt es a l J av a. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 23 3. 9 E J E M PL O C O M PL E T O ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 12 5 3. 9. 1 G en er ar n úm er os a le at or io s. ... ... ...... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 12 7 3. 9. 2 C re ac ió n de u n bo m bo ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 29 3. 9. 3 L a cl as e R es ul ta do .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 13 1 3. 9. 4 E l p ro gr am a pr in ci pa l. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 13 2 3. 9. 5 M od if ic an do la c la se R es ul ta do .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 33 3. 10 C U E S T IO N E S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 36 4. T R A T A M IE N T O D E E X C E P C IO N E S .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 13 7 4. 1 LA N Z A M IE N T O D E E X C E PC IO N E S (T H R O W ). ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 13 8 4. 2 T R A T A M IE N T O D E E X C E PC IO N E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..1 39 4. 2. 1 M an ej ad or d e ex ce pc io ne s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 13 9 4. 3 JE R A R Q U ÍA D E E X C E PC IO N E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 14 2 4. 4 V E N T A JA S D E L T R A T A M IE N T O D E E X C E PC IO N E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 15 1 4 4. 4. 1 Se pa ra ci ón d el c ód ig o “ út il ” d el tr at am ie nt o de e rr or es ... ... ... ... ... .. 15 1 4. 4. 2 P ro pa ga ci ón d e er ro re s a tr av és d e la p il a de m ét od os .. ... ... ... ... ... .. 15 3 4. 4. 3 A gr up ac ió n y di fe re nc ia ci ón d e er ro re s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 15 5 4. 4. 4 C la ri da d de l c ód ig o y ob li ga ci ón d el tr at am ie nt o de e rr or es ... ... ... .1 56 4. 5 C U E S T IO N E S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 57 5. L A E N T R A D A /S A L ID A E N J A V A .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 15 9 5. 1 S T R E A M S .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..1 59 5. 2 J E R A R Q U ÍA D E C L A SE S E N E L P A Q U E T E J A V A .IO .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..1 59 5. 2. 1 E l p aq ue te ja va .i o en e l J D K 1 .0 2. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 60 5. 2. 2 E l p aq ue te ja va .i o en e l J D K 1 .1 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 16 1 5. 3 C L A SE S IM PO R T A N T E S PA R A L A E N T R A D A /S A L ID A E ST Á N D A R .. ... ... ... ... ... ... 16 4 5. 3. 1 L a cl as e In pu tS tr ea m ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 64 5. 3. 2 L a cl as e O ut pu tS tr ea m ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 65 5. 3. 3 L a cl as e P ri nt St re am ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 66 5. 4 EN T R A D A /S A L ID A E ST Á N D A R ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..1 68 5. 5 S T R E A M S D E C A R A C T E R E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 69 5. 5. 1 L a cl as e R ea de r. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 17 0 5. 5. 2 L a cl as e W ri te r. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 71 5. 5. 3 L a cl as e B uf fe rd R ea de r. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 71 5. 5. 4 L a cl as e P ri nt W ri te r. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 72 5. 6 EN T R A D A P O R T E C L A D O Y S A L ID A P O R P A N T A L L A .. ... ... ... ... ... ... ... ... ... ... ... ... ... 17 3 5. 7 F I C H E R O S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 17 5 5. 7. 1 L a cl as e F il e. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 17 5 5. 7. 2 L a cl as e F il eD es cr ip to r. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 77 5. 7. 3 A cc es o a fi ch er os s ec ue nc ia le s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 17 8 5. 7. 4 L a cl as e R an do m A cc es sF il e. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 18 3 5. 7. 5 A cc es o a fi ch er os a le at or io s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 18 5 5. 8 S E R IA L IZ A C IÓ N D E O B JE T O S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 87 5. 8. 1 E sq ue m a de fu nc io na m ie nt o de la s er ia li za ci ón .. ... ... ... ... ... ... ... ... ... ... 18 8 5. 8. 2 P er so na li za ci ón e n la s er ia li za ci ón .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 19 3 5. 9 C U E S T IO N E S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 97 6. T H R E A D S .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 99 6. 1 ¿Q U É S O N L O S T H R E A D S? ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1 99 6. 1. 1 U n ej em pl o, m ej or q ue m il p al ab ra s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 19 9 6. 1. 2 O tr o ej em pl o ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 20 1 6. 1. 3 Y o tr o ej em pl o m ás .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 20 2 6. 2 EST A D O D E U N T H R E A D .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 03 6. 3 C R E A C IÓ N D E T H R E A D S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 20 4 6. 4 O PE R A C IO N E S SO B R E T H R E A D S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..2 07 6. 4. 1 cu rr en tT hr ea d( ). ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 20 7 6. 4. 2 is A li ve () .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 20 7 6. 4. 3 sl ee p( ). ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 08 6. 4. 4 su sp en d( ). ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 20 9 6. 4. 5 w ai t( ). ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 20 9 6. 4. 6 yi el d( ). ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 20 9 5 6. 4. 7 jo in () .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 21 1 6. 5 T H R E A D S Y S IN C R O N IS M O .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 21 2 6. 5. 1 E l p ar ad ig m a pr od uc to r/ co ns um id or ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 21 3 6. 5. 2 Se cc ió n cr ít ic a. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 21 4 6. 5. 3 M on it or es .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 21 7 6. 6 PR IO R ID A D D E U N T H R E A D ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 24 6. 7 T H R E A D S D A E M O N ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..2 26 6. 8 G R U PO S D E T H R E A D S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 27 6. 8. 1 C re ac ió n de g ru po s de th re ad s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 22 7 6. 8. 2 O pe ra ci on es s ob re th re ad s ag ru pa do s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 22 9 6. 9 C U E S T IO N E S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 33 7. C O M U N IC A C IO N E S T C P /I P ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 23 5 7. 1 IN T R O D U C C IÓ N ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 23 5 7. 2 A R Q U IT E C T U R A C L IE N T E / S E R V ID O R .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 36 7. 3 L A A B ST R A C C IÓ N S O C K E T ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..2 37 7. 4 S E R V IC IO S IN C O N E X IÓ N (D A T A G R A M SO C K E T ). ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 23 9 7. 4. 1 C re ac ió n de u n D at ag ra m So ck et .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 23 9 7. 5 SE R V IC IO O R IE N T A D O A C O N E X IÓ N (S T R E A M SO C K E T ).. ... ... ... ... ... ... ... ... ... ... ..2 42 7. 5. 1 O pe ra ci on es e n el s er vi do r. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 43 7. 5. 2 E sp er a de c on ex io ne s de c li en te s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 24 3 7. 5. 3 O pe ra ci on es e n el c li en te .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 24 4 7. 6 C U E S T IO N E S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 51 A .L A S H E R R A M IE N T A S J A V A .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 25 3 A .1 JA V A C (C O M PI L A D O R ). ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..2 53 A .1 .1 O pc io ne s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 25 3 A .2 JA V A (I N T É R PR E T E ).. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 25 5 A .2 .1 O pc io ne s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 25 5 A .3 JA V A W (I N T É R PR E T E ). ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 25 8 A .4 JD B (D E PU R A D O R ).. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..2 59 A .4 .1 C om an do s bá si co s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 60 A .5 JA V A H (G E N E R A D O R D E C A B E C E R A S C ). ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..2 61 A .6 JA V A P (D E SE N SA M B L A D O R ).. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 26 2 A .6 .1 O pc io ne s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 26 3 A .7 JA V A D O C (G E N E R A D O R D E D O C U M E N T A C IÓ N ). ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..2 65 A .7 .1 E ti qu et as d e cl as e o in te rf ac e. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 26 6 A .7 .2 E ti qu et as d e at ri bu to ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 69 A .7 .3 E ti qu et as d e co ns tr uc to r o m ét od o. ... ... ... ... ... ... ... ... ... ... ... ... ...... ... ... ... ... 26 9 A .7 .4 O pc io ne s. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 26 9 B .C O N V E R S IÓ N D E T IP O S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 27 3 B .1 C O N V E R SI Ó N P O R A M PL IA C IÓ N D E T IP O S D E D A T O S SI M PL E S. ... ... ... ... ... ... ... ..2 73 B .2 C O N V E R SI Ó N P O R R E D U C C IÓ N D E T IP O S D E D A T O S SI M PL E S. ... ... ... ... ... ... ... ... .2 75 B .3 C O N V E R SI Ó N P O R A M PL IA C IÓ N D E T IP O S D E D A T O S R E FE R E N C IA L E S. ... ... ... .2 77 B .4 C O N V E R SI Ó N P O R R E D U C C IÓ N D E T IP O S D E D A T O S R E FE R E N C IA L E S. ... ... ... ..2 78 B .5 C O N V E R SI O N E S D E T IP O S N O P E R M IT ID A S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..2 81 6C .L A S C L A S E S S T R IN G Y S T R IN G B U F F E R .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 28 3 C .1 L A C L A SE S T R IN G ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..2 83 C .1 .1 C on st ru ct or es d e la c la se S tr in g. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 83 C .1 .2 M ét od os d e la c la se S tr in g. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 28 4 C .2 LA C L A SE S T R IN G B U FF E R ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 28 9 C .2 .1 C on st ru ct or es d e la c la se S tr in gB uf fe r. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 28 9 C .2 .2 M ét od os d e la c la se S tr in gB uf fe r. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 28 9 D .C L A S E S A N ID A D A S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 93 D .1 U T IL ID A D D E L A S C L A SE S A N ID A D A S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 94 D .2 C L A SE S A N ID A D A S C O M O M IE M B R O S D E O T R A S C L A SE S. ... ... ... ... ... ... ... ... ... ... .2 95 D .3 C L A SE S IN T E R IO R E S A U N B L O Q U E O L O C A L E S A U N M É T O D O ... ... ... ... ... ... ... ..2 99 D .4 C L A SE S A N Ó N IM A S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3 02 E .C L A S E S S O B R E S T R E A M S Y F IC H E R O S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 30 5 E .1 LA C L A SE IN P U T ST R E A M ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3 05 E .1 .1 C on st ru ct or .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 30 5 E .1 .2 M ét od os .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 30 5 E .2 LA C L A SE O U T P U T ST R E A M ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 30 8 E .2 .1 C on st ru ct or .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 30 8 E .2 .2 M ét od os .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 30 9 E .3 L A C L A SE P R IN T ST R E A M ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3 10 E .3 .1 C on st ru ct or es .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 31 0 E .3 .2 M ét od os .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 31 1 E .4 LA C L A SE R E A D E R ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 31 2 E .4 .1 A tr ib ut o. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 31 2 E .4 .2 C on st ru ct or es .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 31 3 E .4 .3 M ét od os .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 31 3 E .5 L A C L A SE W R IT E R .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3 16 E .5 .1 A tr ib ut o. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 31 6 E .5 .2 C on st ru ct or es .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 31 6 E .5 .3 M ét od os .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 31 6 E .6 L A C L A SE B U FF E R D R E A D E R .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..3 18 E .6 .1 C on st ru ct or es .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 31 8 E .6 .2 M ét od os .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 31 8 E .6 .3 L a cl as e P ri nt W ri te r. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3 20 E .7 LA C L A SE F IL E ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3 23 E .8 L A C L A SE R A N D O M A C C E SS FI L E .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3 28 E .8 .1 C on st ru ct or es .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 32 8 E .8 .2 M ét od os .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 32 8 F . E L F O R M A T O D E S T R IN G S U T F -8 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3 35 F. 1 CA R A C T E R E S D E U N S O L O B Y T E .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..3 35 F. 2 C A R A C T E R E S D E D O S B Y T E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3 35 F. 3 C A R A C T E R E S D E T R E S B Y T E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..3 36 G .C L A S E S E N J A V A .N E T ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3 37 G .1 C L A SS SO C K E T ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 33 7 7 G .1 .1 C O N ST R U C T O R E S: ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3 38 G .1 .2 M É T O D O S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 34 0 G .2 C L A SS SE R V E R SO C K E T ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3 42 G .2 .1 C O N ST R U C T O R E S: ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3 43 G .2 .2 M É T O D O S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 34 4 G .3 C L A SS D A T A G R A M SO C K E T ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 34 6 G .3 .1 C O N ST R U C T O R E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 34 7 G .3 .2 M É T O D O S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 34 7 G .4 C L A SS IN E T A D D R E SS ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..3 49 G .4 .1 M É T O D O S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 34 9 G .5 C L A SS D A T A G R A M PA C K E T ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 35 2 G .5 .1 C O N ST R U C T O R E S. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 35 2 G .5 .2 M É T O D O S ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 35 3 8 A nu es tr as fa m ili as , po r pe rm iti rn os ro ba rl es el tie m po qu e he m os de di ca do a es te lib ro . M uy es pe ci al m en te a nu es tr as e sp os as M ª C ar m en y Su sa na . Si n su a po yo i nc on di ci on al y s u pa ci en ci a es te lib ro no ha br ía si do p os ib le . 9 P R E Á M B U L O . E l pr es en te t ex to e st á es cr ito d e fo rm a qu e pu ed a ut ili za rs e ta nt o pa ra a pr en de r el le ng ua je d e pr og ra m ac ió n Ja va , co m o pa ra l a co ns ul ta d e at ri bu to s y m ét od os pe rt en ec ie nt es a c la se s de l J D K 1 1. 1. S i b ie n se e nc on tr ar á un a de sc ri pc ió n m uc ho m ás p or m en or iz ad a y ac tu al iz ad a en l a do cu m en ta ci ón o n- li ne q ue a co m pa ña a es te so ftw ar e. E st e lib ro n o es tá o ri en ta do p ar a in ic ia rs e en l a pr og ra m ac ió n de a pp le ts c on l os qu e do ta r de a ni m ac ió n o in te ra cc ió n a pá gi na s w eb . P or e l co nt ra ri o, e l pr in ci pa l ob je tiv o de e st e te xt o es p re se nt ar l os f un da m en to s de l a pr og ra m ac ió n en e l le ng ua je J av a, c on e l fi n de c on st ru ir c ua lq ui er t ip o de a pl ic ac ió n (l a co ns tr uc ci ón de ap pl et s y lo s as pe ct os g rá fi co s se a bo rd ar án e n un t ex to p os te ri or “ E l le ng ua je de p ro gr am ac ió n Ja va I I” ). E n la a ct ua lid ad e xi st en d if er en te s pa qu et es p ar a el d es ar ro llo d e ap lic ac io ne s en Ja va c on h er ra m ie nt as m ás v is ua le s qu e la s qu e pr op or ci on a el J D K ( qu e no s on vi su al es e n ab so lu to ), s in e m ba rg o si gu e si en do S un M ic ro sy st em s la e m pr es a qu e co nt ro la l a es pe ci fi ca ci ón d e es te l en gu aj e. L a m is m a qu e de sa rr ol la y d is tr ib uy e (d e m om en to ) gr at ui ta m en te e st e pa qu et e. P or e st e m ot iv o, e n es te v ol um en s e ut ili za rá n es ta s he rr am ie nt as al go “e sp ar ta na s” pe ro in du da bl em en te m ás av an za da s qu e ot ro s pr od uc to s co n un l oo k m ás m od er no p er o co n un i ne vi ta bl e at ra so e n cu an to a la s úl tim as m od if ic ac io ne s en e l l en gu aj e y su s lib re rí as . Q ue re m os in si st ir e n qu e Ja va n o es u n le ng ua je n ec es ar ia m en te li ga do a I nt er ne t. L as a pl ic ac io ne s en J av a, a l ig ua l qu e la s de o tr os l en gu aj es , pu ed en s er d e cu al qu ie r na tu ra le za , ej ec ut ar se s in p ro bl em as e n or de na do re s si n co ne xi ón a In te rn et y r ea liz ar t od o tip o de t ar ea s, d es de c ál cu lo c ie nt íf ic o ha st a ju eg os , pa sa nd o po r ap lic ac io ne s de n eg oc io s y of ic in a. L o qu e di fe re nc ia a J av a de o tr os l en gu aj es d e pr og ra m ac ió n es s u co nc ep ci ón d e pa rt id a, e n la q ue s e pr et en de c re ar u n le ng ua je “ to do -t er re no ” qu e se p ue da ut ili za r pa ra p ro gr am ar e n to do ti po d e si st em as o pe ra tiv os y p ro ce sa do re s. L os au to re s de se am os qu e el le ct or di sf ru te co n la le ct ur a de es te lib ro , y re al iz an do s us e je m pl os , ta nt o co m o no so tr os l o he m os h ec ho c on s u re da cc ió n, 1 J D K s on la s si gl as d e Ja va D ev el op er s K it. E s de ci r, c on ju nt o de h er ra m ie nt as p ar a de sa rr ol la r (a pl ic ac io ne s) en J av a. 10en l a qu e in ev ita bl em en te h em os o m iti do a lg un os a sp ec to s qu e no s hu bi er a gu st ad o co nt ar p er o qu e ha n qu ed ad o en e l tin te ro p or m ot iv os d e tie m po y es pa ci o. Ja va , co m o to do nu ev o le ng ua je , ac ab ar á si en do lo qu e la co m un id ad de pr og ra m ad or es d es ee q ue s ea . Si s u us o se e xt ie nd ede bi do a q ue s e ap re ci an l as ve nt aj as q ue a po rt a, l as l im ita ci on es q ue p re se nt a en e st os m om en to s se i rá n re du ci en do p au la tin am en te . M uc ho s fa br ic an te s de s of tw ar e es tá n m ig ra nd o su s ap lic ac io ne s a es te n ue vo le ng ua je . Po si bl em en te de bi do a qu e va lo ra n m ás la s ve nt aj as y, fu nd am en ta lm en te l a po si bi lid ad d e de sa rr ol la r un a so la a pl ic ac ió n pa ra m úl tip le s pl at af or m as a sí c om o la m ay or f ac ili da d qu e of re ce J av a pa ra e l m an te ni m ie nt o po st er io r de la s ap lic ac io ne s D on de e nc ue nt re e l sí m bo lo ! si gn if ic a qu e ha y un e je m pl o qu e pu ed e pr ob ar se . E s la f or m a m ás f ác il de a pr en de r. T am bi én e s in te re sa nt e te ne r in ic ia da un a se si ón c on a lg ún n av eg ad or y a cc ed er a l as A PI ’s d e la d oc um en ta ci ón d el JD K p ar a co ns ul ta . 11 1. I N T R O D U C C IÓ N . 1. 1 H is to ri a d el le n g u aj e. E l le ng ua je J av a™ f ue c re ad o po r Su n M ic ro sy st em s In c. e n un p ro ce so p or et ap as q ue a rr an ca e n 19 90 , añ o en e l qu e Su n cr eó u n gr up o de t ra ba jo , lid er ad o po r Ja m es G os lin g, p ar a de sa rr ol la r un s is te m a pa ra c on tr ol ar e le ct ro do m és tic os e in cl us o PD A s o A si st en te s Pe rs on al es (p eq ue ño s or de na do re s) qu e, ad em ás , pe rm iti er a la c on ex ió n a re de s de o rd en ad or es . Se p re te nd ía c re ar u n ha rd w ar e po liv al en te , co n un Si st em a O pe ra tiv o ef ic ie nt e (S un O S) y un le ng ua je de de sa rr ol lo d en om in ad o O ak ( ro bl e) , el p re cu rs or d e Ja va . E l pr oy ec to f in al iz ó en 19 92 y r es ul tó u n co m pl et o fr ac as o de bi do a l ex ce si vo c os te d el p ro du ct o, c on re la ci ón a a lte rn at iv as s im ila re s, tr as lo c ua l e l g ru po s e di so lv ió . Po r en to nc es a pa re ce M os ai c y la W or ld W id e W eb . D es pu és d e la d is ol uc ió n de l g ru po d e tr ab aj o, ú ni ca m en te q ue da ba d el p ro ye ct o el le ng ua je O ak . G ra ci as a un a ac er ta da d ec is ió n de d is tr ib ui r lib re m en te e l l en gu aj e po r la R ed d e R ed es y a l au ge y l a fa ci lid ad d e ac ce so a I nt er ne t, pr op ic ia do p or l a W W W , el l en gu aj e se po pu la ri zó y s e co ns ig ui ó qu e un a gr an c an tid ad d e pr og ra m ad or es lo d ep ur as en y te rm in as en d e pe rf ila r la f or m a y us os d el m is m o. A p ar tir d e es te m om en to , el le ng ua je s e di fu nd e a un a ve lo ci da d ve rt ig in os a, a ña di én do se le n um er os as c la se s y fu nc io na lid ad p ar a T C P/ IP . E l no m br e de l le ng ua je t uv o qu e se r ca m bi ad o ya qu e ex is tía o tr o lla m ad o O ak . E l no m br e “J av a” s ur gi ó en u na d e la s se si on es d e “b ra in st or m in g” c el eb ra da s po r el e qu ip o de d es ar ro llo d el l en gu aj e. B us ca ba n un no m br e qu e ev oc ar a la e se nc ia d e la t ec no lo gí a (v iv ez a, a ni m ac ió n, r ap id ez , in te ra ct iv id ad … ). J av a fu e el eg id o de e nt re m uc hí si m as p ro pu es ta s. N o es u n ac ró ni m o, si no ún ic am en te al go hu m ea nt e, ca lie nt e y qu e a m uc ho s pr og ra m ad or es l es g us ta b eb er e n gr an de s ca nt id ad es : un a ta za d e ca fé ( Ja va e n ar go t I ng lé s am er ic an o2 ). D e es ta f or m a, S un la nz ó la s pr im er as v er si on es d e Ja va a pr in ci pi os d e 19 95 . D es de e nt on ce s, S un h a sa bi do m an ej ar i nt el ig en te m en te e l éx ito o bt en id o po r su le ng ua je , co nc ed ié nd os e lic en ci as a c ua lq ui er a si n ni ng ún p ro bl em a, f om en ta nd o 2 C as ua lm en te , la p ro nu nc ia ci ón e n in gl és d e es te t ér m in o es “ ya va ”, q ue p ue de e nt en de rs e fu er a de c on te xt o co m o “¡ ya v a! ”. In tr o d u cc ió n . 12su us o en tr e la co m un id ad in fo rm át ic a y ex te nd ie nd o la s es pe ci fi ca ci on es y fu nc io na lid ad d el l en gu aj e. 1. 2 ¿ Q u é es J av a™ ? J av a es u n le ng ua je d e d es ar ro llo d e pr op ós it o ge ne ra l, y co m o ta l es vá lid o pa ra r ea liz ar t od o ti po d e ap lic ac io ne s pr of es io na le s. E nt on ce s, ¿ es s im pl em en te o tr o le ng ua je m ás ? D ef in iti va m en te n o. I nc lu ye u na co m bi na ci ón d e ca ra ct er ís tic as q ue l o ha ce n ún ic o y es tá s ie nd o ad op ta do p or m ul tit ud de fa br ic an te s co m o he rr am ie nt a bá si ca pa ra el de sa rr ol lo de ap lic ac io ne s co m er ci al es d e gr an r ep er cu si ón . 1. 3 ¿ Q u é lo h ac e d is ti n to d e lo s d em ás le n g u aj es ? U na d e la s ca ra ct er ís ti ca s m ás im po rt an te s es qu e lo s pr og ra m as “e je cu ta b le s” , cr ea d os p or e l co m pi la d or d e J av a, s on i nd ep en d ie nt es d e la a rq ui te ct ur a. S e ej ec ut an i nd is ti nt am en te e n un a gr an v ar ie d ad d e eq ui po s co n d if er en te s m ic ro pr oc es ad or es y s is te m as o pe ra ti vo s. • D e m om en to , e s pú bl ic o. P ue de c on se gu ir se u n JD K ( Ja va D ev el op er 's K it) o K it de d es ar ro llo d e ap lic ac io ne s Ja va g ra tis . N o se s ab e si e n un fu tu ro s eg ui rá s ié nd ol o. • Pe rm ite e sc ri bi r A pp le ts ( pe qu eñ os p ro gr am as q ue s e in se rt an e n un a pá gi na H T M L ) y se e je cu ta n en e l o rd en ad or lo ca l. • Se pu ed en es cr ib ir ap lic ac io ne s pa ra in tr ar re de s, ap lic ac io ne s cl ie nt e/ se rv id or , ap lic ac io ne s di st ri bu id as en re de s lo ca le s y en In te rn et . • E s fá ci l d e ap re nd er y e st á bi en e st ru ct ur ad o. • L as a pl ic ac io ne s so n fi ab le s. P ue de c on tr ol ar se s u se gu ri da d fr en te a l ac ce so a r ec ur so s de l si st em a y es c ap az d e ge st io na r pe rm is os y cr ip to gr af ía . T am bi én , se gú n Su n, l a se gu ri da d fr en te a v ir us a t ra vé s de r ed es l oc al es e I nt er ne t es tá g ar an tiz ad a. A un qu e al i gu al q ue h a In tr o d u cc ió n . 13 oc ur ri do c on o tr as t ec no lo gí as y a pl ic ac io ne s, s e ha n desc ub ie rt o, y po st er io rm en te s ub sa na do , “ ag uj er os ” en la s eg ur id ad 3 de J av a. 1. 3. 1 ¿ Q u é se p u ed e p ro g ra m ar c o n J av a? Si t en ía p re co nc eb id a la i de a de q ue c on J av a só lo s e pr og ra m an a pp le ts p ar a pá gi na s w eb , es tá c om pl et am en te e qu iv oc ad o. Y a qu e Ja va e s un l en gu aj e de pr op ós ito g en er al , p ue de p ro gr am ar se e n él c ua lq ui er c os a: • A pl ic ac io ne s in de pe nd ie nt es . C om o co n cu al qu ie r ot ro l en gu aj e de pr op ós ito g en er al . • A pp le ts . Pe qu eñ as a pl ic ac io ne s qu e se e je cu ta n en u n do cu m en to H T M L , s ie m pr e y cu an do e l n av eg ad or s op or te J av a, c om o oc ur re c on lo s na ve ga do re s H ot Ja va y l as ú lti m as v er si on es d e N et sc ap e y el ex pl or ad or d e In te rn et d e M ic ro so ft . 1. 3. 2 ¿ E s fá ci l d e ap re n d er ? Sí . Pa ra e l co le ct iv o de p ro gr am ad or es q ue c on oc en l a pr og ra m ac ió n or ie nt ad a a ob je to s, e l ca m bi o a Ja va p ue de s er r ea lm en te s en ci llo . E s un l en gu aj e bi en es tr uc tu ra do , s in p un te ro s y si n ne ce si da d de t en er q ue c on tr ol ar l a as ig na ci ón d e m em or ia a e st ru ct ur as d e da to s u ob je to s. Pa ra l os p ro gr am ad or es e n C ++ t am bi én e s se nc ill o el c am bi o, y a qu e la s in ta xi s es p rá ct ic am en te la m is m a qu e en e st e le ng ua je . Pa ra to do a qu el q ue n o co no zc a la p ro gr am ac ió n or ie nt ad a a ob je to s, e st e le ng ua je es id ea l p ar a ap re nd er to do s su s co nc ep to s, y a qu e en c ad a pa so d e su a pr en di za je se v a co m pr ob an do q ue l as c os as s e ha ce n en l a fo rm a na tu ra l de h ac er la s, s in so rp re sa s ni c om po rt am ie nt os e xt ra ño s de l os p ro gr am as . A m ed id a qu e se v a ap re nd ie nd o, s e va f om en ta nd o en e l pr og ra m ad or , y si n es fu er zo , un b ue n es til o de p ro gr am ac ió n or ie nt ad a a ob je to s. E n re al id ad , n o pu ed e se r de o tr a fo rm a, y a 3 E l as pe ct o de s eg ur id ad t ie ne i m po rt an ci a fu nd am en ta l en l a cr ea ci ón d e ap pl et s pu es to q ue e st os p ro gr am as so n ej ec ut ad os e n el n av eg ad or d e ca da u su ar io e s ne ce sa ri o po de r ga ra nt iz ar le q ue s u si st em a y su s da to s es tá n se gu ro s de p os ib le s vi ru s y/ o fi sg on eo s de t er ce ra s pe rs on as q ue p od rí an u til iz ar l a re d co m o m ed io p ar a fi ne s m ás o m en os o sc ur os . In tr o d u cc ió n . 14qu e Ja va i m pi de “ ha ce r co sa s ex tr añ as ” y, a de m ás , no p er m ite “ ab an do na r” l a pr og ra m ac ió n or ie nt ad a a ob je to s, co m o oc ur re co n ot ro s le ng ua je s de pr og ra m ac ió n. E st o es b as ta nt e co nv en ie nt e, d e lo c on tr ar io , un p ro gr am ad or q ue es tá a pr en di en do p ue de s en tir l a te nt ac ió n de “ vo lv er ” a lo q ue c on oc e (l a pr og ra m ac ió n tr ad ic io na l) . A m ed id a qu e se v an c om pr ob an do l as v en ta ja s de l a pr og ra m ac ió n or ie nt ad a a ob je to s, pa ra aq ue llo s qu e la s de sc on oc en , y la fa ci lid ad y na tu ra lid ad de l le ng ua je J av a, é st e va a tr ap an do a q ui en s e ac er ca a é l, y de sp ué s de a lg ún ti em po tr ab aj an do c on J av a, h ay p oc os p ro gr am ad or es q ue n o lo c on si de re n co m o “s u fa vo ri to ”. 1. 3. 3 C ar ac te rí st ic as d el le n g u aj e. • E s in tr ín se ca m en te o ri en ta do a o bj et os . • Fu nc io na p er fe ct am en te e n re d. • A pr ov ec ha c ar ac te rí st ic as d e la m ay or ía d e lo s le ng ua je s m od er no s ev ita nd o su s in co nv en ie nt es . E n pa rt ic ul ar lo s de l C ++ . • T ie ne u na g ra n fu nc io na lid ad g ra ci as a s us li br er ía s (c la se s) . • N O t ie ne p un te ro s m an ej ab le s po r el p ro gr am ad or , a un qu e lo s m an ej a in te rn a y tr an sp ar en te m en te . • E l m an ej o de l a m em or ia n o es u n pr ob le m a, l a ge st io na e l pr op io l en gu aj e y no e l p ro gr am ad or . • G en er a ap lic ac io ne s co n po co s er ro re s po si bl es . • In co rp or a M ul ti- Th re ad in g (p ar a pe rm iti r la e je cu ci ón d e ta re as c on cu rr en te s de nt ro de un m is m o pr og ra m a) . E st a ca ra ct er ís tic a se rá tr at ad a co n de te ni m ie nt o en e l p un to $ 6 T h re ad s. E n la p ág in a 19 9. E l le ng ua je J av a pu ed e co ns id er ar se c om o un a ev ol uc ió n de l C ++ . L a si nt ax is e s pa re ci da a l a de e st e le ng ua je , po r lo q ue e n es te l ib ro s e ha rá r ef er en ci a a di ch o le ng ua je f re cu en te m en te . A p es ar d e qu e pu ed e co ns id er ar se c om o un a ev ol uc ió n de l C ++ n o ac ar re a lo s in co nv en ie nt es d el m is m o, y a qu e Ja va f ue d is eñ ad o “p ar tie nd o de ce ro ”, es de ci r, no ne ce si ta ba se r co m pa tib le co n ve rs io ne s an te ri or es d e ni ng ún le ng ua je c om o oc ur re c on C ++ y C . In tr o d u cc ió n . 15 G ra ci as a q ue f ue d is eñ ad o “p ar tie nd o de c er o” h a co ns eg ui do c on ve rt ir se e n un le ng ua je or ie nt ad o a ob je to s pu ro , lim pi o y pr ác tic o. N o pe rm ite pr og ra m ar m ed ia nt e ot ra t éc ni ca q ue n o se a la p ro gr am ac ió n or ie nt ad a a ob je to s (P O O e n ad el an te ) y, u na v ez s up er ad o el a pr en di za je d e la p ro gr am ac ió n or ie nt ad a a ob je to s, e s re al m en te s en ci llo a pr en de r Ja va . ¿E l le ng ua je e s C om pi la do o I nt er pr et ad o? N i un a co sa n i la o tr a. A un qu e es tr ic ta m en te ha bl an do es in te rp re ta do , ne ce si ta de un pr oc es o pr ev io de co m pi la ci ón . U na v ez “ co m pi la do ” el p ro gr am a, s e cr ea u n fi ch er o qu e al m ac en a lo q ue s e de no m in a b yt ec o d es o j _c od e (p se ud oc ód ig o pr ác tic am en te a l ni ve l de có di go m áq ui na ). P ar a ej ec ut ar lo , es n ec es ar io u n “i nt ér pr et e” , la J V M ( Ja va V ir tu al M ac hi ne ) m áq ui na v ir tu al J av a. D e es ta f or m a, e s po si bl e co m pi la r el pr og ra m a en u na e st ac ió n UN IX y e je cu ta rl o en o tr a co n W in do w s9 5 ut ili za nd o la m áq ui na v ir tu al J av a pa ra W in do w s9 5. E st a JV M s e en ca rg a de le er lo s b yt ec o d es y tr ad uc ir lo s a in st ru cc io ne s ej ec ut ab le s di re ct am en te en un de te rm in ad o m ic ro pr oc es ad or , d e un a fo rm a ba st an te e fi ci en te . Q ue el pr og ra m a de ba se r “i nt er pr et ad o” n o ha ce q ue s ea po co ef ic ie nt e en cu an to a ve lo ci da d, ya qu e la in te rp re ta ci ón se ha ce pr ác tic am en te a l ni ve l de c ód ig o m áq ui na . P or e je m pl o, e s m uc ho m ás rá pi do qu e cu al qu ie r ot ro pr og ra m a in te rp re ta do c om o po r ej em pl o V is ua l B as ic , au nq ue e s m ás le nt o qu e el m is m o pr og ra m a es cr ito e n C ++ . E st a de fi ci en ci a en c ua nt o a la ve lo ci da d, p ue de s er a m in or ad a po r lo s co m pi la do re s Ju st -I n- Ti m e (J IT ). U n co m pi la do r JI T tr an sf or m a lo s by te co de s de u n pr og ra m a o un a pp le t en c ód ig o na tiv o de l a pl at af or m a do nd e se ej ec ut a, p or lo q ue e s m ás r áp id o. Su el en s er i nc or po ra do s po r lo s na ve ga do re s, co m o N et sc ap e o In te rn et E xp lo re r. E di to r Pr og ra m a fu en te By te Co de Có di go m áq ui na Co m pi la ci ón (J av ac ) In te rp re ta ci ón po r la J VM (J av a) P ro gr am a. ja va P ro gr am a. cl as s In tr o d u cc ió n . 16E l le ng ua je Ja va es ro bu st o. L as ap lic ac io ne s cr ea da s en es te le ng ua je so n su sc ep tib le s de co nt en er po co s er ro re s, pr in ci pa lm en te po rq ue la ge st ió n de m em or ia y p un te ro s es r ea liz ad a po r el p ro pi o le ng ua je y n o po r el p ro gr am ad or . B ie n es sa bi do qu e la m ay or ía de lo s er ro re s en la s ap lic ac io ne s vi en en pr od uc id os p or f al lo s en l a ge st ió n de p un te ro s o la a si gn ac ió n y lib er ac ió n de m em or ia . A de m ás , el le ng ua je co nt ie ne es tr uc tu ra s pa ra la de te cc ió n de ex ce pc io ne s (e rr or es d e ej ec uc ió n pr ev is to s) y p er m ite o bl ig ar a l pr og ra m ad or a es cr ib ir c ód ig o fi ab le m ed ia nt e la d ec la ra ci ón d e ex ce pc io ne s po si bl es p ar a un a de te rm in ad a cl as e re ut ili za bl e. 1. 4 L a M áq u in a V ir tu al J av a (J V M ). L a m áq ui na v ir tu al J av a es l a id ea r ev ol uc io na ri a4 d el l en gu aj e. E s la e nt id ad q ue pr op or ci on a la in de pe nd en ci a de pl at af or m a pa ra lo s pr og ra m as Ja va “c om pi la do s” e n by te -c od e. P ro g ra m a fu en te B yt eC o d e C ó d ig o m áq u in a 1 C o m p ila ci ó n (J a v a c ) F .j a v a C ó d ig o m áq u in a 2 C ó d ig o m áq u in a 3 J V M p a ra l a m á q u in a 1 J V M p a ra l a m á q u in a 2 J V M p a ra l a m á q u in a 3 C la s e 1 .c la s s C la s e 2 .c la s s C la s e N .c la s s 4 B ue no , no c om pl et am en te r ev ol uc io na ri o, o tr os s is te m as e n el p as ad o, c om o po r ej em pl o el P as ca l U C SD co m pi la ba n a un c ód ig o in te rm ed io ( p- co de ) qu e lu eg o er a in te rp re ta do a l e je cu ta r el p ro gr am a. N o ob st an te , e st a es tr at eg ia n o es la h ab itu al e n la m ay or ía d e le ng ua je s, a l m en os n o lo h a si do h as ta a ho ra . In tr o d u cc ió n . 17 U n m is m o pr og ra m a fu en te co m pi la do en di st in ta s pl at af or m as o si st em as op er at iv os , ge ne ra e l m is m o fi ch er o en b yt e- co de . E st o es l óg ic o, y a qu e se su po ne q ue e l co m pi la do r de J av a tr ad uc e el f ic he ro f ue nt e a có di go e je cu ta bl e po r un a m áq ui na q ue ú ni ca m en te e xi st e en f or m a vi rt ua l (a un qu e se t ra ba ja e n la co ns tr uc ci ón d e m ic ro pr oc es ad or es q ue e je cu te n di re ct am en te e l b yt e- co de ). E vi de nt em en te , si u n m is m o pr og ra m a en b yt e- co de p ue de s er e je cu ta do e n di st in ta s pl at af or m as e s po rq ue e xi st e un t ra du ct or d e es e by te -c od e a có di go na tiv o de l a m áq ui na s ob re l a qu e se e je cu ta . E st a ta re a es r ea liz ad a po r la J V M . E xi st e un a ve rs ió n di st in ta d e es ta J V M p ar a ca da p la ta fo rm a. E st a JV M s e ca rg a en m em or ia y v a tr ad uc ie nd o “a l vu el o” , lo s by te -c od es a c ód ig o m áq ui na . L a JV M n o oc up a m uc ho e sp ac io e n m em or ia , p ié ns es e qu e fu e di se ña da p ar a po de r ej ec ut ar se s ob re p eq ue ño s el ec tr od om és tic os c om o te lé fo no s, te le vi so re s, e tc . 1. 5 Ja va S cr ip t. A te nc ió n: N o h ay q ue c on fu nd ir J av a co n J av aS cr ip t. Ja va Sc ri pt e s un a va ri ac ió n de l le ng ua je J av a. D es ar ro lla do p or N et sc ap e y Su n, fu e di se ña do p ar a si m pl if ic ar l a cr ea ci ón d e co nt en id os i nt er ac tiv os e n pá gi na s w eb s in n ec es id ad d e te ne r qu e pr og ra m ar a pp le ts e n Ja va . E n lu ga r de e llo s e ut ili za n té cn ic as m ás se nc ill as m ed ia nt e el le ng ua je Ja va Sc ri pt qu e es m ás fl ex ib le , a un qu e m uc ho m en os p ot en te . E l le ng ua je J av aS cr ip t es t ot al m en te i nt er pr et ad o po r el n av eg ad or . E l có di go fu en te s e in cl uy e co m o pa rt e de l a pá gi na w eb e n H T M L y e s el n av eg ad or e l en ca rg ad o de “ in te rp re ta r” e l c ód ig o fu en te . ¿N o po dr ía ha ce rs e en Ja va ? Sí , pe ro no de fo rm a ta n se nc ill a co m o co n Ja va Sc ri pt . E st e le ng ua je fu e pe ns ad o pa ra ac er ca r Ja va a pr og ra m ad or es in ex pe rt os y c re ad or es d e co nt en id os H T M L s in c on oc im ie nt os a va nz ad os d e pr og ra m ac ió n. D if er en ci as e nt re J av a y Ja va Sc ri pt : • Ja va e s co m pi la do , m ie nt ra s qu e Ja va Sc ri pt e s to ta lm en te in te rp re ta do . • Ja va e s or ie nt ad o a ob je to s. J av aS cr ip t ut ili za o bj et os , p er o no p er m ite la p ro gr am ac ió n or ie nt ad a a ob je to s. In tr o d u cc ió n . 18 • E n Ja va Sc ri pt n o es n ec es ar io d ec la ra r la s va ri ab le s y en J av a sí . • E n Ja va Sc ri pt , la s co m pr ob ac io ne s de v al id ezd e re fe re nc ia s a ob je to s se r ea liz an e n tie m po d e ej ec uc ió n, m ie nt ra s qu e en J av a se r ea liz a en tie m po d e co m pi la ci ón . • Ja va Sc ri pt ti en e un n úm er o lim ita do d e tip os d e da to s y cl as es . • L os a pp le ts J av a se t ra ns m ite n co m o có di go a pa rt e de l a pá gi na W eb . E n Ja va Sc ri pt , lo s ap pl et s se t ra ns m ite n co nj un ta m en te c on l a pá gi na w eb ( em be bi do s en e lla ). 1. 6 E l e n to rn o d e d es ar ro llo J D K . L a he rr am ie nt a bá si ca p ar a em pe za r a de sa rr ol la r ap lic ac io ne s o ap pl et s en J av a es el JD K (J av a D ev el op er ’s K it) o K it de D es ar ro llo Ja va , qu e co ns is te , bá si ca m en te , en u n co m pi la do r y un i nt ér pr et e (J V M ) pa ra l a lín ea d e co m an do s. N o di sp on e de u n en to rn o de d es ar ro llo i nt eg ra do ( ID E ), pe ro e s su fi ci en te p ar a ap re nd er e l l en gu aj e y de sa rr ol la r pe qu eñ as a pl ic ac io ne s. 1. 6. 1 ¿ D ó n d e co n se g u ir lo ? E l K it de d es ar ro llo p ue de o bt en er se e n la s di re cc io ne s si gu ie nt es : • ht tp :/ /w w w .s un .c om • ht tp :/ /w w w .j av as of t. co m E l en to rn o pa ra W in do w s9 5/ N T e st á fo rm ad o po r un f ic he ro e je cu ta bl e qu e re al iz a la i ns ta la ci ón , cr ea nd o to da l a es tr uc tu ra d e di re ct or io s. E l ki t co nt ie ne bá si ca m en te : • E l c om pi la do r: j av ac .e xe • E l de pu ra do r: j d b .e xe • E l in té rp re te : ja va .e xe y j av aw .e xe • E l v is ua liz ad or d e ap pl et s: a pp le tv ie w er .e xe • E l g en er ad or d e do cu m en ta ci ón : j av ad oc .e xe In tr o d u cc ió n . 19 • U n de se ns am bl ad or d e cl as es : j av ap .e xe • E l ge ne ra do r de a rc hi vo s fu en te s y de c ab ec er a (. c y .h ) pa ra c la se s na tiv as e n C : j av ah .e xe 1. 6. 2 E st ru ct u ra d e d ir ec to ri o s. .h ot Ja va : E s do nd e se a lm ac en an l os f ic he ro s de co nf ig ur ac ió n de l n av eg ad or d e Su n H ot Ja va . bi n: E s do nd e se a lm ac en an l os f ic he ro s ej ec ut ab le s de l en to rn o de de sa rr ol lo : ja va c, jd b, ja va y ap pl et vi ew er . de m o: C on tie ne v ar io s di re ct or io s co n ej em pl os d e pr og ra m as y a pp le ts e sc ri to s en J av a. in cl ud e: C on tie ne c ab ec er as p ar a ut ili za r fu nc io ne s es cr it as e n C . lib : C on tie ne l as l ib re rí as d e cl as es p ro po rc io na da s po r el le ng ua je . E st as lib re rí as se en cu en tr an co m pr im id as e n el f ic he ro c la ss es .z ip . N A te nc ió n, es te úl tim o fi ch er o no se de be de sc om pr im ir . 1. 6. 3 C o n fi g u ra ci ó n . E n es te c as o se v a a su po ne r qu e el J D K h a si do i ns ta la do e n el d ir ec to ri o c : \ j a v a . E n ot ro c as o, b as ta rí a co n su st itu ir é st e po r el d ir ec to ri o re al m en te ut ili za do . In tr o d u cc ió n . 20E n pr im er l ug ar , p ar a po de r ej ec ut ar e l co m pi la do r j a v a c y p od er i nt er pr et ar l os pr og ra m as “ ej ec ut ab le s” r es ul ta nt es , ha y qu e añ ad ir e n el p at h la l oc al iz ac ió n de lo s ej ec ut ab le s de l en to rn o de d es ar ro llo , m od if ic an do e l fi ch er o a u t o e x e c . b a t de la s ig ui en te f or m a: p a t h = c : \ j a v a \ b i n ; … . . T am bi én h ay q ue a ña di r en é l un a va ri ab le C L A SS P A T H q ue c on te nd rá e l/l os di re ct or io s do nd e se a lm ac en an la s cl as es . s e t C L A S S P A T H = c : \ j a v a \ l i b ; c : \ J a v a \ M i s C l a s e s ; . ; … . E s co nv en ie nt e in cl ui r el d ir ec to ri o ac tu al ( . ) pa ra p od er a cc ed er a la s cl as es q ue se e st án c re an do e n un d et er m in ad o di re ct or io e n un m om en to d ad o. 1. 7 P ro g ra m ac ió n o ri en ta d a a o b je to s. A nt es d e em pe za r a es tu di ar e n de ta lle e l l en gu aj e Ja va , e s im pr es ci nd ib le c on oc er lo s co nc ep to s y ca ra ct er ís tic as p ar tic ul ar es d e la p ro gr am ac ió n or ie nt ad a a ob je to s (P O O ). N o só lo e s im po rt an te q ue e st e pu nt o se a le íd o po r qu ie n de sc on oc e la PO O s in o qu e ta m bi én e s im po rt an te q ue l o le a qu ie n la c on oc e, y a qu e ex is te n di st in ta s te rm in ol og ía s pa ra n om br ar lo s m is m os c on ce pt os . L a pr og ra m ac ió n or ie nt ad a a ob je to s es u na e vo lu ci ón l óg ic a de l a pr og ra m ac ió n es tr uc tu ra da , en l a qu e el c on ce pt o de v ar ia bl es l oc al es a u n pr oc ed im ie nt o o fu nc ió n, q ue n o so n ac ce si bl es a o tr os p ro ce di m ie nt os y f un ci on es , se h ac e ex te ns ib le a l os p ro pi os s ub pr og ra m as q ue a cc ed en a e st as v ar ia bl es . Pe ro l a pr og ra m ac ió n or ie nt ad a a ob je to s va m uc ho m ás a llá . E n re al id ad , ca m bi a la co nc ep ci ón d e la m et od ol og ía d e di se ño d e lo s pr og ra m as . E n la p ro gr am ac ió n or ie nt ad a a ob je to s, s e de fi ne n ob je to s qu e co nf or m an u na ap lic ac ió n. E st os ob je to s es tá n fo rm ad os po r un a se ri e de ca ra ct er ís tic as y op er ac io ne s qu e se p ue de n re al iz ar s ob re l os m is m os . E st os o bj et os n o es tá n ai sl ad os e n la a pl ic ac ió n, s in o qu e se c om un ic an e nt re e llo s. 1. 7. 1 ¿ Q u é es u n o b je to ? L a re sp ue st a a es ta p re gu nt a en t ér m in os a je no s a la p ro gr am ac ió n pa re ce s im pl e. U n ob je to e s un a pe rs on a, a ni m al o c os a. S e di st in gu e de o tr os o bj et os p or t en er un as d et er m in ad as c ar ac te rí st ic as y “ si rv e” p ar a al go , o di ch o de o tr a fo rm a, s e pu ed en r ea liz ar d is tin ta s op er ac io ne s co n/ so br e es e ob je to . In tr o d u cc ió n . 21 P or e je m pl o: U na c as a es u n ob je to . C A R A C T E R ÍS T IC A S: N úm er o de p is os , a ltu ra to ta l e n m et ro s, c ol or d e la fa ch ad a, nú m er o de ve nt an as , nú m er o de pu er ta s, ci ud ad , ca lle y nú m er o do nd e es tá u bi ca da , e tc . O P E R A C IO N E S: C on st ru ir , de st ru ir , pi nt ar f ac ha da , m od if ic ar a lg un a de la s ca ra ct er ís tic as , c om o
Compartilhar