Kathy sierra scjp 5 pdf portugues
Voc tem assuntos mais importantes para se preocupar. Entio por que voc sequer m arcaiauma classe como f inal? Afinal de contas, isso n6o viola to da a nogd. Caso ieo c6digo seja profundamente dependentedaimplementagiodecetosm6todos,usarfinal irslegrent? Imagine a confusio que ocoreria se vocd nio pudesse garantir fo.
Se os programadores tivessem a liberdade de estender a clisse String e assim colocar as suas novas instancias da subclasse String onde esperam-se instAncias de java. Strin a civiltzagfuo ti. No entanto, se a classe for f inal, entao nao h6 nada que voc6 pcissa fazer. Vamos modificat o nosso exemplo Beverage colocando nadLrd6 Fsv. As classes f inal acabamcomumbeneficio fundamentalda programagio OO - a extensibilidade.
Assim, a n6o set que voc6 tenha uma s6ria preocupagio de seguranga, assuma que -' algum dia algum outro programador precisar6 estender a sua classe. ClassesAbstract Umaclasseabg-trac-t lraqpgdeserinstanciadanunca. Mas vocd n6o quer que]l-gq6- d. De que cor ele seria? Quantos assentos? Potancia do motor? Em outras palavras, como os m6todos seriam implementados? Temos cefteza de que o dono de um Boxster lhe diria que o caffo dele 6.
Observe a seguinte classe abstract:. O c6digo acima iti compilar sem problemas. Entretanto, receber6 eros de compilagio como o seguinte:.
It can't be instantiated. Se o m6todo estiver. Pode aparecer uma questao que lhe pergunte como consertar uma amostra de c6digo que inclui um m6todo que termina com p;nto-e-virgula, mas sem um modificador abstract na classe ou m6todo. Nesse caso, voc poderia ou rn rcar o m6todo e a classe como abstract, ou modificar o ponto- e-virgiapatao c6digo apropriado um par de chaves, por exemplo.
Lembre-se, se transformar um m6todo de abstrac E parando-abstract, n5o se esquega de trocar o ponto-e-virgula no final da d eclangdo do m6todo por um par de chaves! Examinaremos os m6todos abstract com mais detalhes mais adiante neste obietivo, mas lembre-se sempre de que, sq mesmo um s6 m6todo fqr abs,tract,. Aocolocarm6todosnZo-abstract emumaclasseabsEract,vocediatodasas concletas e concreto significa apenas nio-abs!. A boa noticia 6. A prop6sito, se voc6 achou que usamos a expressio raison d'etre fora de contexto, anteriotmente, nio nos mande e-mail' de certificagio PM Progr madores' Queremos ver uoc6 colocarumra expressio dessas em um livro programar com tipos de classes q..
Voc6 aprender6. Elas t6m significados quase opostos' subclassificada, enquanto que uma classe f inaf nlo deve ser subclassificada. Se voc. Crieuma suoerclasse. A superclasse deve pertencer a um pacote um pacote chamado food e a subclasse pode pertencer ao pacote def ault significando que ela ndo ser6 colocada em acesso def ault. Torne a superclasse pubf ice d i subclasse.
Se quiser usar a classe Apple, certifique-se de colocar subdiret6rio food. Declarando uma interface estabeleceria: "Essa 6 uma interf"ceboon. Quando voc6 criar uma inte rfzce, estat6' definindo um contrato com o que a classe pode fazer, sem mencionar nada sobre como a classe o fad. Umalnterface 6 um conffato. Voc6 poderia escrevei uma interiace Bounceable, por exemplo, que. Por6m, ao frrer iom que Ball e Tire implementem Bounceable, classe. As interfaces podem ser implementadas por qualquet clasEe, de,.
Isso permiur6 que voc use. Class Tire implements Bounceable public void bounce i As regras s5o apresentam muito pouca flexibilidade em como os m6todos e vari6veis definidos na interface restritas:.
Todososm6todosdeinterfacesioimpliciamentepublic eabstract. Emoutraspalavras'vocenaoprecisadigitar realmente os modificadores. Falaremos mais sobre esses modificadores a seguir i I Uma interface pode estender uma ou mais interfaces diferentes. I f Uma interface nio pode estender nada que nio seja outra interface. Examinamos z declaragdoda interface, mas agora nos aprofundaremos nos mdtodos de uma interface:.
Dada essa regta, vocd pode ver que o c6digo a seguir 6 exatamente equivalente a. Declarando constantes de interface Voc6 pode inserir constantes em uma interface. A qE "s. Flasdevemserpublic, g! Assim como os m6todos de interfacessiosemprepublic eabstract,independentementedevoc6indicarissoounionoc6digo.
Isso parece simples, certo? Afinal, as constantes de interfaces nio sio diferentes de quaisquer outras constantes acessiveis publicamente, entio, obviamente elas precisam set declaradas como public, sLatic e f inal-. Mas, antes de pular o restante desta discussio, pense nas implicag6es:. I-lma vez que o valor tiver sido atribuido, nunca poder6 ser alterado. No exame' espere encontrar perguntas as quais ndo podeni responder coretamenle, a ntenos qae saiba, por exempl0, qae y. Os m6todos e as vari6veis de inst6ncias nioJocais sio conhecidos coletivamente como membros.
Voc6 pode modificar um membro que tenha tanto modificadores de acesso como modificadotes que nio se referem a acesso, e vocd tem mais modificadorei para escolher e combinar do que quando est6 declarando uma classe. Modificadores de Acesso Pelo fato de os mtodos e vari6veis normalmente receberem controle de acesso exatamente da mesmas forma, abordaremos ambos nesta segio.
Enquantoumaclasrcs6podeusardoisdosquatroniveisdecontoledeacesso default podem usar todos os quatro:. A proteg6o padrdo6 o que voc recebe quando nio digita um modificador de acesso na de clatagdo do membro.
Os tipos de. E crucial que voc6 saiba tudo sobre o controle de acesso par o exzme. Haver6 uma boa quantidade de Perguntas pataas controle qoais voc6 dever6 usar o seu conhecimento sobre controle de acesso.
Algumas quest6es testam v6rios conceitos de o desconhecimento de uma pequena parte que seja do assunto poder6lhe custar uma de acesso ao mesmo tempo, enrio questio inteira. Por agora, ignore quaisquer diferengas entre m6todos e vari6veis.
Se a classe A tiver acesso a um membro da classe B, isso significa que o membro da com voc6 classe B est6 visivel para a classe A. Quando uma classe nZo tem acesso a ouffo membro, o compilador vai brigar. Voc6 precisa entender duas quest6es difetentes telativas ao acesso:.
O primeiro tipo de acesso ocorre quando um m6todo de uma classe tenta acessar um m6todo ou uma vari6vel de outra. Em vez disso, queremos saber se a subclasse pode berdarum membro da sua superclasse. Lembre-se de que se uma subclasse herdaum membro, 6 exatamente como se a subclasse tive sse declarado o membro ela mesma. Em outras palavras, se uma subclasse herdaummembro, efltao ela tem. N6o se esquega, no entanto, q,te se apnipria classe A nio puder ser acessada pela classe B, ent6o nenhum Pacotes membro da classe A poderi, ser acessado pela classe B.
Vocd precisa saber o efeito de diferentes combinag6es de acesso a classes e membros por exemplo uma classe padrao com uma vari6vel pubJ- ic.
Para descobrir issq primeiramente observe o nivel de acesso da classe. Se a pr6pria classe nio for visivel a outra, entio nenhum dos seus membros ser6 visivel, nem mesmo se forem declarados publ ie.
Depois de confirmar que a classe est6 visivel, 6 uma boa id6ia observar os niveis de acesso nos membros individuais. Membros Public Quando um mtodo - ou vatiivel-membro - 6 declarado publ i c, isso significa que todas as outras classes, independentemente do pacote ao qual pertengam, podem acessar o membro em questao assumindo-se que a pr6pria classe esteia visivel.
Figuro l-2 Comporogdo de herongo x operodor ponto pqro ocesso o membros. Trs formas de acessar um m6todo:. D Invocando um m6todo declarado na mesma classe R Invocando um m6todo usando uma referdncia da classe. Como vocd pode ver, Goo e Sludge estao em pacotes diferentes.
It est6o marcados como public. Pan uma subclasse, se um membro da sua superclasse for declatado pub 1 i c, independentemente de se ambas as classes estarem no mesmo pacote ou nio:.
A classe Roo declara o membto doRooThings como publ i c. Assim, se criarmos uma subclasse de Roo, qualquer c6digo presente nessa subclasse Roo poderi chzmar o seu pr6prio m6todo doRooThings herdado.
Repare no c6digo anteriot que o m6todo doRooThings 6 invocado sem a necessidade de prefixi-lo com uma referdncia. Lembre-se de que se voc vir um mdtodo invocado ou uma vad6. Tamb6m significa que o m6todo ou a vai6velest6 sendo implicitamente acessado a usando-se areferncia this. Assim, no c6digo anteior,acharnadaa doRooThings na classe Cloo poderia tet sido escrita como thi s. A refer6ncia thi s sempre se refere ao objeto sendo executado atualmente - em outras palavras, ao objeto que esteja rodando o c6digo quando voc6 v6 a referncia thi s.
Pelo fzto de a rcfetdncia thi s ser impiicita, voc6 n6o precisa prefixar o seu c6digo de acesso a ela, mas se o fizer nio havet6 nenhum problema. Al6m de poder invocar o m6todo doRooThings O para si mesmo, o c6digo de alguma outta classe pode chamar doRooThings para uma instincia de Cloo, da seguinte forma:.
Membros Private Membros marcados como private ndo podem ser acessados por c6digo em nenhuma ouffa classe que nio aquela na qual foi declarado. Vamos fazer uma pequena modificagio na classe Roo apresentada em um exemplo o membro private antedot. O m6todo doRooThings agora 6 private, entao nenhuma outra classe pode us6-lo.
Se tentarmos invocar o m6todo a partir de qualquer outra classe, teremos problemas:. Um membro. Quando um membro 6 declarado uma subclasse nio pode herdar dele.
Pata o exame, voc6 precisa entender que uma subclasse nio pode ver, usar e nem sequer pensar nos membros private da sua superclasse. Voc6 pode, no entanto, declarar um mtodo cortespondenie na subclasse. Mas, nio importa asuaapai. As regtas de substituigio ndo se aplicam, de forma que voc6 pode fazer esse m6todo "rec6mdeclarado-que-por-um-mero-acasoo-mesmo" declarar novas exceg6es, ou modificar o tipo de retorno, ou qualquer otrtra coisa que voc6 queira fazer com ele.
Sem usaprotepdo, a uari,iuel weight 'pesa' de an objeto Cat, por exempl0, poderia ur defnida nmo tlm nilmem negatiuo caso o cddigo in npiado tenba acesso direto i uaiduel publ ic, coml em somecat. Mas un mdtodo dz acesto, setweight int wt , podeia uerifcar se o nilmem d ropiado. Ok, tudo isso d especulagdo, mat estamos partindo do prina? Ou ndo. O Capitalo 2 divutinl esta prutu Ao de dadot enc ulanento com mais detalhes.
E possivel um m6todo private ser substituido por uma subclasse? Essa 6 uma pergunta interessanre, mas a resposta, tecnicamente, 6 nio. Uma vez qve a subclasse, como vimos, nio pode herdar um m6todo private, ela, portanto, nao pode substituir o m6todo - a substituigio depende da heranga. Abordaremos as implicag6es disso com mais detalhes mais adiante nesta segio, bem como no Capitulo 2,mas,por agora basta lembrar-se de que um m6todo marcado como pri vate nao pode ser substituido.
A Figura ilustra os efeitos dos modificadores publi-c e private em classes de um mesmo ou de diferentes Dacores. Invocando um m6todo declarado na mesma classe R Invocando um m6todo usando uma referdncia da classe.
Membros Protect e Default Osniveisdeconuoledeacessoprotect pacote diferente. Observe nanl::ao narf. Repare tambem que a classe OtherClass se encontra em um pacote diferente de AccessClass. Serl que AccessClass poder6 usar o m6todo t e s t f O? Vai causar um erro de compilagdo? Ser6 que o Daniel vai se cas ar colr, aFrancesca? Nio perca os pr6ximos. Pelosresultadosacima,vocpodeverqueAccessClassniopodeusarom6todotestlt la, o compilador reclama, e n6s nao temos nem id6ia de quem sejam Daniel e Ftancesca.
Assim,Accessclassn6opodev6def ault e. N6o faz diferenga se a superclasse e a subclasse estao em pacotes diferentes, o membro da superclasse protect ainda estard visivel para a subclasse embora visivel apenas de uma formabastante especiftca, como veremos mais adiante. Isso contrasta com o comportamento paddo,que nio permite que uma subclasse acesse um membro da superclasse, a nio ser que a subclasse esteia no mesmo pacote que a superclasse.
Enquanto que o acesso padrio nio estende nenhum considetagdo especial is subclasses ou voc6 est6 no pacote ou nio esti , o modificador protected respeita a relagao parent-chjld, at6 mesmo quando a classe child se desloca e iunta-se d um novo pacote. Assim, quando pensar em acessopadrdo,pense em restrig6es depacote. Sem exceg6es. Mas, quando Pensar em protect, pense em? IJma classe com um membro protect esti marcando esse membro como tendo acesso de nivel do pacote pata todas as classes, mas com uma excegio especial para subclasses fora do pacote.
Mas o que significa uma subclasse de fora do pacote ter acesso a um membro parent da supetclasse? Significa que a subclasse herda o membro. Nio significa, no entanto, que a subclasse de fora do pacote possa acessar o membro usando uma refer6ncia a. Assim, se a subclasse de fota do pacote obtiver uma refer6ncia i superclasse cdando, por exemplq uma instAncia da superclasse em algum lugar no c6digo da subclasse , a subclasse nio pode usar o opetador ponto na refetncia i superclasse para acessar o membro protec.
Para uma subclasse de fora do pacote, um membro protect poderia da mesma forma ser def aul-t ou mesmo privado , quando a subclasse est6 o membro. Est6 confuso? N6s tamb6m. Agriente firme e tudo ficar6 claro com a s6rie de exemplos segrintes. E ndo se Preocupe, na verdade, nio estamos confusos. Estamos apenas tentando fazt-lo se sentir melhot caso voc6 esteia confuso. Sabe, tipo nio tem problema se voc estiver achando que nada faz sentido, e ndo 4 culpa sua.
Ou serd que 6? Agora vamos criar uma subclasse em um pacote. O c6digo acima compila sem problemas. Repare, no entanto, que a classe Child estd acessando a vari6vel protect atrav6s dahetanga. Lembre-se, sempre que falarmos de uma subclasse ter acesso a um membro de uma superclasse, podetiamos estar falando de a subclasse herdar o membro, e nio simplesmente acess6-lo atrav6s de uma referdncia a uma ins tdtcia da supetclasse que 6 a forma como qualquer ouua nio-subclasse o acessaria.
Repare no que acontece se a subclasse Child fora do pacote da superclasse tentar acessar uma variivel. Finalmente, j6vimos que as subclasses de forado pacotenao Podem usarumafefer6nciadi superclasse paraacessarum membropratecl.
Pera uma subclnsse deforq do pacotq o membro protect stf pode ser acessado otraaes da heranqa. Ainda h6 mais uma questZo que nao consideramos Q"ul 6 a aparncia de um membro protect para outras classes que tentem usar a subclasse de fora do pacote para obter o membro protect da superclasse que foi herdado pela subclasse? Em outras palavns, como esse membro protect se comporta depois que a subclasse o herdou? Ele mant6m o seu status de protect, de forma tal que as classes no pacote de Child possam v6Jo?
Assim, se a classe Neighbor instanciat um obieto Child, entdo mesmo se Neighbot estiver no mesmo pacote que Child, Neighbor nlo teri acesso i vari6vel x herdada mas protect por Child. Resumo da hist6ria: quando uma subclasse de fora do pacote herda um membto protect, esse membro torna-se essencialmente private dentro da subclasse, de forma tal que apenas a subclasseeassuassubclassespodemacess6lo. AFigural-4ilustraoefeitodoacessoprotect sobreclassesesubclasses no mesmo ou em diferentes pacotes.
Carambal Com isso terminamos protected, o modificador mais incompreendido emJava. Novamente, ele s5 6 usado em casos muito especiais, mas pode ter certezade que aparecer6 no exame. Agora que j6 abordamos o modificadorprotected, passaremos para o acesso padrio, uma molezacomparado a protect. Detalhes de Default Vamos comegar com o comportamento padrd. Modificaremos o membro x de Parent. Repare que nio colocamos um modificador de acesso na ftentedavai vel x.
Lembre-se de que, se voc nio di. Agora tentaremos acessar o membro padrdo da classe Child que vimos anteriormente. A subclasse Child em um pacote diferente do da superclasse Parent ndo 6 capaz de ver nem usar o membro padrio x da superclasse!
Agora, e quanto ao acesso padrio para duas classes do mesmo pacote? O c6digo-fonte acima compila sem problemas, e a classe Child roda e exibe o valor e x. Basta se lembrar de que os membros padrio ficam visiveis par:-as subclasses apenas se elas estiverem no mesmo pacote que a superclasse. Variiveis Locais e Modificadores de Acesso Os modificadores de acesso podem ser aplicados a. Pode ter certeza de que qualquer vari6vel local declarada com um modificador de acesso fieo vai compilar.
Na verdade. Isso termina a nossa discussio sobre modificadores de acesso de membros. A Tabela 1. Em seguida, vamos passar para os outros modificadores nio-referentes a acesso que voc pode apltcar a declarag6es de membros. Visibilidade A partir da mesma classe A partir de qualquer classe do mesmo A partir de uma subclasse do mesmo. Modificadores Nio-Referentes a Acesso J6 discutimos o acesso a membros, o qual diz respeito ao c6digo de uma classe pode invocar rxn m6todo ou acessar uma variivel de instdncia aparar de outra classe.
Isso ainda nio inclui uma srie de outros modificadores que vocd pode usar em declarag6es de membtos. Dois deles j6 lhe sio fami-liares f e porque n6s os aplicamos a. I : Decloroc6es e Conirole de Acesso declaraE6es de classes anteriormente neste capitulo. Mas ainda temos de dar uma. Veremos primeiro os modificadores aplcados a m6todos, seguidos pelos modificadores aplicados a vari6veis de instAncias' Fecharembs esta segao com uma olhad".
M6todos Final A palavra-chave f inal impede que um m6todo possa ser substituido em uma subclasse, e frequentemente 6 usada para forg"r os recursos API de om m6toio.
Se voc6 estender a classe Thread, no entanto, realmente nio h6 como vocd sozinho implementar corretamente esse m6todo ele usa c6digo nativo, s6 para citar uma das taz6es , entao os elaboradores o to-"rrr. Assim como nio 6 possivel subclassificar a classe String porque precisamos confiar no comPortamento Essa de um objeto String , vocd nio poder6 substituir a matorizdos m6todos nas bibliotecas de classes fundamentais.
Impedir que uma restrigio quanto a soUstitoigao propicia boa seguranga, atravds subclasse iubstitua um metodo invatida muitos dos beneficios da orientagao a obietos, incluindo a estensibilidade do polimorfismo.
Uma declaragio de m6todo f inal tipica se pareceria com isto:. Final methods cannot be overridden. Argumentos Final Os argumentos de m6todos sio as declarag6es de varidveis que aparecem entre parnteses na declatagio de um m6todo. Uma declaragdo de m6todo tipica, com multiplos afgumentos, se Parece com o seguinte:. Argumentos de m6todos sio essencialmente o mesmo que variiweis locais. Nesteexemplo,avartfivelrecordNumber 6declaradacomofinal,oquesignificaobviamentequeelanlopoder6ser.
Neste caso, "modificar" significa atribuir um novo valor d vari6vel. Em outras palavras, um argumento f inal deve manter o mesmo valor que o pardmetro tinha quando foi passado para o m6todo. Em outras palavras, o m6todo nio cont6m nenhum c6digo funcional. E, se vocd se lembrar da segio "Classes abstract", uma declaraqio de m6todo abstract neo tem nem sequer chaves onde um c6digo de implementag6o pudesse ser colocado, terminando, 6. Em outras palavras, eIa ndo tem uru corpo de ndtodo.
Voc6 marca um m6todo como quandoquerforgarassubclassesaforneceraimplementagloemquestao. Porexemplo,seescreverumaclasse Car com um m6todo goupHi 11 , voc6 poderia desejar forgai todos os subtipos de Car adefinir o seu pr6pdo comportamento de goupHill , especifico dquele tipo determinado de carro.
E, inv,i,lido ter um rinico m6todo abstract. A declaragio do m6todo inclui chaves, em vez de terminar com ponto-e-virgula. Em outras palavras, o m6todo tem um O m6todo inclui c6digo de implementagio. Mais cedo ou mais tatde, no entanto, algu6m vai ctiat uma subclaise nio-abstract em outras palavras, uma classe que pode serinstanciada , e essa subclasse teri de implementar todos os m6todos abstract de cima para baixo na 6rvore deheranga.
Entio, quantos mtodos tem a classe Mini? Ela herda nunca ser implementado na classe Car permanecendo. Emoutraspalavras,aclasse Mini nio pode deixar a.
Se a subclasse for abstrata, ela n6o 6 obrigada a implementar os m6todos abstract, mas tem a pemisseo de implementat qualquer um ou todos os m6todos abstract da superclasse. A classe AcmeRover 6 nioabs t rac t, entao ela precisa implementar o mdtodo ab -. Figuro t-5 Os efeilos do modificodor obsfrocl sobre subclosses concrefos e obsfrolos Ptocure por classes concretas que nio fornegam implementag6es pata m6todos c6digo nio vai compilar:.
Embora o m6todo implementagio do m6todo abstract da superclasse, na verdade f oo int I da classe B parega ser uma simplesmente um m6todo sobrecarregado um m6todo que usa o mesmo identificador, mas diferentes argumentos ' enteo ele nio atende ao requisito de implementagdo do m6todo absLract da superclasse.
Veremos as diferengas enre substituigio e sobrecarga com mais detalhes no Capitulo 2. Ou, dizendo de outra forma, uma designagio significa que a superclasse nlo sabe nada sobre como as subclasses devem se comportar no m6todo Lm questio, enquanro que uma designagio f ina l- significa que a superclasse sabe tudo sob. Os modificadores ef. Umadeclarag6osynchronized parece com a seguinte:.
Voc6 n6o precisa saber como usar m6todos nativos pano etim. Repare que o corPo de um m6todo nativo deve ser ponto-e-virgula O como m6todos abstraci , indicando que a implementagao foi omitida. M6todos Strictfp Vimos anteriormente o uso de strictfp como modificadot de classe, mas, mesmo que voc6 nio declare uma classe como str j-ct f p, ainda assim voc poderi declarar um m6todo individual como strictf p. Lembre-se de que Com.
O inconveniente disso 6 que, se aplitaformasubjacente for capazde srrportar maior precisio, um mdtodo strictfp n6o poderd se beneficiar dessa capacidade. Para o exame, no entanto, voc6. M6todos com Listas de Argumentos Vari6veis var-args Desde a versio 5.
Dependendo de onde voc pesquisar, poderd ver essa caPacidade ser chamada de "listas de argumentos de extJnsio v ariivel';,,,argumentos vari6veis", "vat-args","vatatgs" ou o nosso favorito saido do departamento de obscuridad e ,"patdmetrocom nfmero vari6vel de argumentos".
Todos eles sio a mesma coisa, e usaremos o termo "vat-ztgs" daqui em diante. Apenas para informagio, gostariamos de esclarecer como iremos usar os termos "argumento" e "parAmetro" ao longo deste Livro. Sintaxe b4sica Para declarar um mdtodo usando um parAmetro vat-arg, voc escreve depois do tipo um sinal de reticncias Outfos pardmetros E v6lido tef outfos parametros em um m6todo que use um vaf-afg.
Lirnites dos var-args O var-arg deve ser o riltimo parametro por m6todo. Declarag6es de Construtores EmJava, os obietos sio construidos. Sempre que voc cria um novo obieto, pelo menos um construtor 6 invocado. Toda toneladas de classe tem um construtor, e, se voc6 nio criar um explicitamente, o compilador vai criar um para voc. Existem regtas relativas aos construtores, e iremos deixar a discussio detalhada para o Capinrlo 2.
Por agota,vamos nos concentrar flas regras b6sicas de declaragio. Eis um exemplo simples:. Uma diferenga fundamental 6 que n6o poie nonca, i"mais, ter um tipo de retorno.. As declarag6es de construtores podem ter, no. Os construtores nio podem ser matcados como s t at i c afinal eles sio associados com instanciaminto de objetos , nio podem ser marcados como f inaL nem abstract porque ndo podem ser.
Uma variavel de referdncia 6 declarada como sendo de um tipo especifico, e esse tipo nio pode nunca ser modificado. Uma vari6vel de referncia pode ser usada para referit-se a qualquer objeto do tipo declarado ou de tm subtipo do ipodeclarado um , tipo compativel. Falaremos muito mais sobre o uso de uma vari6vel de referCncia para referir-se a tlm subtipo no Capitulo 2, onde discutiremos o polimorfismo.
Declarando Primitivos e Interralos de Primitivos Vari6veis primitivas podem set declaradas como vari6veis de classe stat ic , varidveis de instincias, parimetros de m6todos ou vari6veis locais. Voc6 pode declarar um ou mais primitivos, do mesmo tipo primitivo, em uma mesma linha. No Capitulo 3, discutiremos as diversas maneiras pelas quais eles podem ser inicializadosrmas, por agora, apresenraremos apenas alguns exemplos de declaragSes de vari6veis primitivas:.
Para o exame J atual, voc pode pular alguns detalhes, mas ainda 6 impotante entender que, para os tipos intiiros, a seqtidncia 6 do menot.
Voc tamb6m precisar6 saber que os tipos num6ricos tanto inteiros quaflto de ponto flutuante sio todos assinalados, como isso afeta os seus intervalos.
Pdmeiramente, vamos revisar os conceitos. Fernando rated it it was amazing Jul 07, See if you have enough points for this item. Java EE 8 Cookbook. Amazon Drive Cloud storage from Amazon. It may be tempting to give this book a bad review simply because the SCJP sucks, but this is actually a useful book. The exam questions are simpler than the ones in the book. This book is excelent and can be considered as a bible for those preparing for SCJP.
I found this book and used it to study up. Hi Shankar, I suggest you buy the book, even it is quite expensive. The prep class is beginning soon enough this autumn sigh! English Choose a language for shopping. Mastering Linux Shell Scripting.
The Rails 4 Way. Amazon Second Chance Pass it on, trade it in, give it a second life. If you like books and love to build cool products, we may be looking for you. Is there any free download is available Or need to buy. CGI Programming with Perl. Sierta also have the eBook and learned a few chapters from it, but I found it difficult when you want to refer to some topic.
Covers all kathj topics, including: Share your thoughts with other customers. There are no discussion topics on this book yet. I believe that studying the concepts presented in this book will enable me to pass the exam when I take it later this year. I used this book to help me pass the exam the first time. Check out video courses https:.
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are as essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent.
You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
0コメント