vissshhhhhh, bem, não vai ser nenhum post milagroso q vai te salvar eu acredito, maaass… vou tentar resumir aqui!!!
modicador public:
… como o proprio nome diz, é publico, ou seja, tudo oq tiver public na frente será visivel de qualquer lugar, qualquer classe, pacote, oq for, ex:
[code]public class X {
}[/code]
… configura essa classe como publica, em qualquer outro codigo tu pode fazer o seguinte:
X objeto = new X();
blz? … em classes tu só pode usar public ou nada, ou seja, isso daria erro:
[code]private class Y {
}[/code]
ok? …
modificador protected:
o protected é o mais chatinho, tu tem q ter noção de herança pra entendê-lo, espero q tenha…! bem… vamos ao exemplo:
[code]public class Pai {
protected int numero;
}
class Filho extends Pai {
public Filho()
{
numero = 0;
}
}[/code]
a classe Pai tem uma variavel de instancia “numero”, configurada como protected, ou seja… tudo aquilo q extender a classe Pai tb terá acesso a essa variavel, como no exemplo, a classe Filho altera o valor da variavel numero, sem mesmo ter declarado tal variavel, isso pq Filho herdou “numero” de Pai…
modificador private:
o mais simples, TUDO oq tu marcar como private, só sera visivel da classe q foi declarado, se usar-mos o exemplo anterior, mudando de protected pra private, teriamos:
[code]public class Pai {
private int numero;
}
class Filho extends Pai {
public Filho()
{
numero = 0;
}
}[/code]
pergunta: esse código compilaria? … hum? note q “numero” é private na classe Pai, logo… só estará visivel pra classe Pai…!!! então, nao irá compilar, pq mesmo a classe Filho extendendo de Pai, Filho não terá acesso a variavel “numero”, pq ela é PRIVADA de Pai, esse código dará um erro… Filho não reconhece “numero”…
há muitos outros tópicos com relação aos modificadores de acesso… mas tu sabendo isso ai, estou certo q ja conseguirá uma nota boa na tua prova…! a não ser q a prova q tu queira fazer é a de certificação, heaheah, ai tem mais coisas…