Quao o erro desse códgo que não esta compilando?
Veja mensagem do console?
[code] class Encapsulado {
// private é um modificador de acesso de restrição máxima
private int comProtecao;
void setComProtecao(int valor) {
comProtecao = valor;
}
int getComProtecao() {
return comProtecao;
}
}
public class TesteEncapsulado {
public static void main(String[] args) {
Encapsulado e = new Encapsulado(); // “e” é uma instância de Encapsulado
// deve-se acessar o atributos de forma indireta, encapsulada
e.setComProtecao(10);
System.out.println("Valor com proteção: " + e.getComProtecao());
}
}[/code]
Mensagem do console:
[code]Exception in thread “main” java.lang.Error: Unresolved compilation problem:
at TesteEncapsulado.main(Encapsulado.java:16)[/code]
A classe Encapsulado vc colocando o modificador de acesso public, ela será visível para todas as classes em diferentes pacotes.O mesmo para os métodos.
Quando vc encapsula um atributo, vc cria os metodos get e set para acessar este atributo. Se vc usar o modificador default, so serão visiveis para classes no mesmo pacote.
Pra vc pegar as manhas, estuda os modificadores de acesso em Java, é muito importante!
Sempre que houver a declaração de mais de uma classe no mesmo arquivo .java só pode haver uma classe com o modificador public e o arquivo deve ter o mesmo nome dessa classe pública com a extensão .java.
Em outras palavras: no seu caso, tenha a certeza que o arquivo chama-se TesteEncapsulado.java