Encapsulamento e polimorfismo sao dois temas que costumam embrulhar a nossa cabeca no inicio com java... Ai embaixo uma explicacao basica sobre encapsulamento para quem quiser aprender! Bons estudos!Atributos com o modificador de acesso private so podem ser lidas pela classe que contem eles. Olhe no exemplo abaixo:class Pessoa{ private String nome; //Somente a propria pessoa ira poder ler esse nome } class Pessoa{ private String nome; //Somente a propria pessoa ira poder ler esse nome } Isso quer dizer que se voce instanciar a pessoa e tentar ler o nome diretamente, ira ser gerada uma excecao:Pessoa maria = new Pessoa(); maria.nome= "Maria"; //Erro!!! Pessoa maria = new Pessoa(); maria.nome= "Maria"; //Erro!!! Existem modificadores de acesso para permitir o acesso direto a variavel livremente ou com alguma restricao, como public, protected...Pra que uso o private entao?Com atributos privates temos que acessar as variaveis atraves de metodos publicos, que permitem que o "pessoal" de fora possa acessar a variavel, seja para leitura ou escrita.E dai?Com acesso usando metodos podemos dar mais flexibilidade ao codigo, mais seguranca no acesso. Exemplo simples e didatico:Quero me certificar que a idade sera sempre maior que 18 anos:class MaiorIdade{ private int idade; public void setIdade(int pIdade){ if(idade < 18){ //nesse ponto poderiamos lancar um execessao tambem System.out.println("Idade menor do que o permitido..."); }else{ this.idade = pIdade; } } } class MaiorIdade{ private int idade; public void setIdade(int pIdade){ if(idade < idade =" pIdade;">Veja que se fossemos mexer diretamente na variavel, isso seria uma dor de cabeca. Mas existem muitas vantagens que durante desenvolvimentos vamos aprendendo!Ta, mas e o tal do GET e SET?Esse sao metodos padroes para definir o acesso as variaveis.GET: Do ingles adquirir, voce le o atributo atraves desse metodo!Exemplo:view plainprint?int idade = pessoa.getIdade(); int idade = pessoa.getIdade(); O metodo GET deve ser definido para retornar o atributo na nossa classe:view plainprint?class Pessoa{ private int idade; public int getIdade(){ return this.idade; } } class Pessoa{ private int idade; public int getIdade(){ return this.idade; } } SET: Do ingles configurar, atribuir, permiti voce modificar um atributo de uma classe. COmo e um metodo, voce deve receber o argumento para atribuir o valorview plainprint?maria = new Pessoa(); maria.setNome("Maria"); //Observe que o valor foi entre os parenteses maria = new Pessoa(); maria.setNome("Maria"); //Observe que o valor foi entre os parenteses Para definir o metodo voce deve prever o recebimento do argumento:view plainprint?class Pessoa{ private String nome; public void setNome(String pNome){ this.nome = pNome; } } class Pessoa{ private String nome; public void setNome(String pNome){ this.nome = pNome; } } _________________________________________Bem de forma resumida: Voce usa metodos para acessar atributos nao visiveis por outras classes. Esses metodos sao chamados de GET e SET. GET para ler e SET para modificar o atributo.No eclipse e possivel gerar os GET's e SET's automaticamente!! Crie a sua classe com os atributos privados e aperte sequencialmente ALT depois S e depois R e assim voce ira escolher quais metodos gerar e para quais atributos! A primeira apresentacao que eu estou postando aqui foi sobre o tema "Padrao Observador" da materia Analise e Projetos de