[MÚSICA] [MÚSICA] Olá a todos, esse é o curso de orientação a objetos com Java. Neste hands-on vamos ver a questão dos modificadores de acesso. Eu falei na aula aí os tipos, quando pode acessar, quando não pode, tá? A ideia é a gente mostrar na prática aqui pouco dessas questões do acesso. Então assim, a gente não vai fazer nada que funciona mas a gente vai ver aqui, pelos erros aqui, que vão dar quando é que a gente consegue acessar cada tipo de modificador. Então eu vou criar aqui novo projeto para gente poder fazer essa experiência. Certo? Eu vou chamar aqui de "experiência acesso". Certo? Então o que é que eu vou fazer? Eu vou criar aqui pacote. Eu vou ser muito criativo e vou chamar o pacote de "pacote". Certo? Dentro desse pacote, eu vou criar a classe que vai ser a nossa referência. Então vou chamar ela de referência. E aí vou criar variáveis com os diferentes modificadores de acesso. Então vou criar tudo inteiro aqui no "modificadorDefault". Vou criar aqui "public int modificadorPublico". Vou criar aqui protegido, o "protected int ModificadorProtegido" E vou criar aqui "private" que vai ser o modificador Privado. Então, só para a gente ver aqui, eu vou criar então, só para a gente ver como é que a gente vai fazer, método na própria classe, que vou chamar aqui de "propriaClasse", para agente ver quais desses eu consigo acessar na própria classe. Então, "modificadorDefault". Consigo Certo? "ModificadorPublico". Também consigo. Certo? "ModificadorProtegido". Olha lá, também deixou. E o "ModificadorPrivado", certo? Também consigo. Tá, então na classe aqui eu acesso tudo. Eu vou chamar aqui de "teste acesso". Então é para ver quando é que eu consigo acessar ou não as variáveis. Então, por exemplo, eu vou criar aqui agora uma outra classe. Certo? Vou chamar aqui, vou criar aqui num pacote que vou chamar de "outro". Então é uma outra classe, que não tem nada a ver com essa, num outro pacote. Então, eu vou criar aqui o meu teste de acesso. Vou criar aqui a referência, "Referencia r = new Referencia" E vou ver qual desses aqui consigo acessar. [SEM ÁUDIO] Então bota aqui "r.", "r.". Tá? Qual é o problema? Não importou a classe. Então vamos importar aqui a classe para a gente ver. Então, note aqui o "default" ele está dando erro, se eu vier aqui ele me dá exatamente, está dizendo que não é visível. Então se eu clicar aqui do lado, ele mostra o erro aqui, de que não é visível aquela. Tá vendo? Ele não está visível, então vou colocar comentário aqui só para a gente ver. Então, por exemplo, numa outra classe de outro pacote que não tem nada a ver com ela somente o público ele é visível. Eu vou criar aqui uma classe que eu vou chamar aqui de "outramesmopacote". Certo? Eu vou fazer a mesma coisa que eu fiz aqui na outra, só que a única diferença é que ela está no mesmo pacote que a minha referência. Ela está no pacote "pacote". Então, o público ele consegue, o "Default" ele consegue. O "Protegido" também consegue, só o "Privado" que ele vai dar erro ali de visibilidade. Tá? Ótimo. Vou criar agora aqui no outro pacote, tá? Uma classe que eu vou chamar de "sub". Certo? Que vai estender a minha classe. Então essa classe "sub" eu vou dar aqui "extends Referencia", certo? Opa. Temos que importar ela, senão ele não reconhece. Então eu vou pegar aqui, esse teste de acesso. Vou sobreescrever até o método aqui. AÍ, viu que ele não consegue. Nesse caso, a gente viu que ele dá erro aqui, no que tem o "modificadorDefault" e no "modificadorPrivado", ele só consegue o público e o protegido. Tá, então a gente pode ver aqui aquilo que a gente aprendeu na aula de controle de acesso. A gente tem aqui na própria classe, pode acessar qualquer tipo, outras classes somente os públicos. Outras classes do mesmo pacote, eu consigo "Default", o "Publico" e o "Protegido". E subclasses somente o "Publico" e o "Protegido". Tá certo? Então, o "Publico" é qualquer lugar, o "Privado" é só na própria classe. O "Default" só na própria classe e classes do mesmo pacote. E o "Protegido" somente na própria classe no mesmo pacote e subclasses. Tá, espero que vendo assim, tenha sido possível fixar melhor essa questão dos modificadores de acesso. Espero que tenham entendido e gostado da aula. Até a próxima. [MÚSICA]