{"id":174,"date":"2019-07-06T14:59:38","date_gmt":"2019-07-06T14:59:38","guid":{"rendered":"https:\/\/micheladrianomedeiros.com.br\/blog\/?p=174"},"modified":"2019-07-06T15:02:28","modified_gmt":"2019-07-06T15:02:28","slug":"aprendendo-java-para-certificacao-3","status":"publish","type":"post","link":"https:\/\/micheladrianomedeiros.com.br\/blog\/aprendendo-java-para-certificacao-3\/","title":{"rendered":"Aprendendo Java Para Certifica\u00e7\u00e3o #3"},"content":{"rendered":"\n<p class=\"has-text-color has-vivid-cyan-blue-color wp-block-paragraph\"><strong>Entendendo as Declara\u00e7\u00f5es e Importa\u00e7\u00f5es\nde Pacotes<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O Java tem milhares de classes\nque j\u00e1 vem inclusas no JDK e outras que desenvolvedores criam que podem ser\nutilizadas no seu projeto. Com este mundo de classes o java precisa de uma maneira\npara organiz\u00e1-las. E o jeito \u00e9 similar a guardar objetos em uma gaveta. O Java organiza\nas classes em pacotes (packages em ingl\u00eas).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Imagine se eu te colocasse na\nfrente de v\u00e1rias gavetas e pedisse para voc\u00ea encontrar determinado objeto sem\ndar nenhuma informa\u00e7\u00e3o. Seria mais f\u00e1cil se eu te dissesse o que estou\nprocurando e por exemplo o n\u00famero da gaveta. Ent\u00e3o, o Java tamb\u00e9m precisa\ndestas informa\u00e7\u00f5es para saber qual classe voc\u00ea deseja utilizar, para isto ele\nprecisa saber o pacote e a classe. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos ver o que acontece se eu\ntentar compilar este c\u00f3digo:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class ImportExample{<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public\nstatic void main(String[] args){<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Random\nr = new Random();<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(r.nextInt(10));<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vai gerar o seguinte erro:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"577\" height=\"202\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/1-3.png\" alt=\"\" class=\"wp-image-175\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/1-3.png 577w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/07\/1-3-300x105.png 300w\" sizes=\"auto, (max-width: 577px) 100vw, 577px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Como voc\u00ea pode ver houve um\nerro de compila\u00e7\u00e3o. A mensagem cannot find symbol nos d\u00e1 a pista do que aconteceu.\nVeja que tem uma seta no Random, isto significa que foi esta classe que o\ncompilador n\u00e3o conseguiu encontrar. Lembre-se que voc\u00ea deve dizer ao Java em\nqual pacote a classe est\u00e1 localizada, e se voc\u00ea analisar o c\u00f3digo em nenhum\nlugar dissemos onde a classe Random pode ser encontrada. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E como fazemos isto? Vamos\ntentar deste jeito:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">import java.util.Random;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class ImportExample{<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public\nstatic void main(String[] args){<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Random\nr = new Random();<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(r.nextInt(10));<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea compilar este programa\ne executar a sa\u00edda ser\u00e1 um n\u00famero entre 0 e 9. Agora o programa compila e\nexecuta sem nenhum erro, porque na primeira linha dissemos ao java onde est\u00e1\nlocalizada a classe Random. A palavra import diz ao Java em qual pacote\nencontra-se a classe que queremos utilizar. <\/p>\n\n\n\n<p class=\"has-text-color has-vivid-cyan-blue-color wp-block-paragraph\"><strong>Wildcards<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vimos que para fazer as\nimporta\u00e7\u00f5es de uma classe devemos dizer em que pacote ela encontra-se. Mas se\neu quiser importar mais de uma classe, vou ter que importar uma por uma? N\u00e3o, temos\na possibilidade de importarmos todas as classes contida em um pacote. Vamos ao\num exemplo:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">import java.util.*;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public class ImportExample{<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public\nstatic void main(String[] args){<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Random\nr = new Random();<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(r.nextInt(10));<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este \u00e9 o mesmo c\u00f3digo anteriormente\napresentado, com a diferen\u00e7a que agora tem um asterisco no import, este asterisco\nque \u00e9 chamado de wildcard. Fazendo o import desta maneira n\u00e3o estamos apenas importando\na classe Random, mas todas as classes que est\u00e3o contidas no pacote java.util.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O wildcard \u00e9 uma maneira mais curta de fazer importa\u00e7\u00f5es de classes, algumas pessoas podem pensar que fazer a importa\u00e7\u00e3o de todas as classes de um pacote vai deixar o sistema lento. Isto n\u00e3o acontece porque o compilador sabe qual classe o sistema vai utilizar, portanto na compila\u00e7\u00e3o ele s\u00f3 importa as classes que precisa. <\/p>\n\n\n\n<p class=\"has-text-color has-background has-very-dark-gray-color has-vivid-cyan-blue-background-color wp-block-paragraph\">Adquira o ebook Aprendendo Java para Certifica\u00e7\u00e3o Volume 1 ->  <a href=\"http:\/\/ebook.micheladrianomedeiros.com.br\/\">http:\/\/ebook.micheladrianomedeiros.com.br\/<\/a>  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">#java #certifica\u00e7\u00e3o<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Entendendo as Declara\u00e7\u00f5es e Importa\u00e7\u00f5es de Pacotes O Java tem milhares de classes que j\u00e1 vem inclusas no JDK e outras que desenvolvedores criam que podem ser utilizadas no seu projeto. Com este mundo de classes o java precisa de uma maneira para organiz\u00e1-las. E o jeito \u00e9 similar a guardar objetos em uma gaveta. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":144,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38,1],"tags":[39,5],"class_list":["post-174","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-certificacao","category-java","tag-certificacao","tag-java"],"_links":{"self":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/comments?post=174"}],"version-history":[{"count":6,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/174\/revisions"}],"predecessor-version":[{"id":181,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/174\/revisions\/181"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media\/144"}],"wp:attachment":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media?parent=174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/categories?post=174"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/tags?post=174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}