Escopo de variavel privada

muito bem… eu tenho uma discussão interessante
com meus conhecimentos de orientacao a objeto, sempre achei que um objeto que tivesse uma variavel privada fosse o unico a que pudesse acessa-la, mesmo um objeto do mesmo tipo tentasse acessa-lo…seria impossivel. Mas encontrei o seguitne codigo abaixo na classe java.lang.Integer

    public int compareTo(Integer anotherInteger) {
	int thisVal = this.value;
	int anotherVal = anotherInteger.value;
	return (thisVal<anotherVal ? -1 : (thisVal==anotherVal ? 0 : 1));
    }

e descobri que a variavel privada pode ser acessada por outros objetos desde que eles sejam do mesmo tipo.

queria saber a opinião de voces sobre isso
[]'s

Desculpa…não sei se eu emburreci de tanto mexer no VB…mas onde exatamente nesse código que uma variável privada de outra classe está sendo auterada???

[]'s

descullpe
a variavel value eh private
private int value;
public int compareTo(Integer anotherInteger) {
int thisVal = this.value;
int anotherVal = anotherInteger.value;
return (thisVal<anotherVal ? -1 : (thisVal==anotherVal ? 0 : 1));
}

private int value; 
public int compareTo&#40;Integer anotherInteger&#41; &#123; 
int thisVal = this.value; 
int anotherVal = anotherInteger.value; 
return &#40;thisVal&lt;anotherVal ? -1 &#58; &#40;thisVal==anotherVal ? 0 &#58; 1&#41;&#41;; 
&#125;

this.value quer dizer que está acessando este atributo…ou seja o atributo da própria classe…
e ela não tá nem sendo modificada…uma variável dentro do método compareTo está recebendo o conteúdo dela…
Cara, desculpa…mas parece que vc tá vendo o que eu não tow…

[]'s

olha essa linha

int anotherVal = anotherInteger.value; 

anotherInteger é um Integer tambem… portanto a variavel value dele é PRIVATE tambem

hehe entao… e ela ta sendo acessada por outro objeto
foi oq eu disse…variavel privete tem escopo de permissao de classe…eu achei que era de objeto

[quote=“JavaNight”]olha essa linha

int anotherVal = anotherInteger.value; 

anotherInteger é um Integer tambem… portanto a variavel value dele é PRIVATE tambem

hehe entao… e ela ta sendo acessada por outro objeto
foi oq eu disse…variavel privete tem escopo de permissao de classe…eu achei que era de objeto[/quote]

Correto. :slight_smile: …eu tb sempre achei q fosse de objetos, descobri que estava errado 2 dias antes do exame de scjp :lol: huaehuae

vcs dois estão certissímos e eu vou no oculista…
pq eu olhava e olhava o codigo e enxergava isso…

int anotherVal = anotherInteger.intValue&#40;&#41;;

[]'s

bom ter aprendido isso 1 mes antes da prova ehhehe … tb nao sabia

pois é eu acabei de terminar de ler o livro pra certificacao o Sun Certifier Programer & Developer e eu nao sabia tambem…nao sei se passei batido ou se nao tinha la

eu vou comrpar o vaucher tambem agora
eh nois pessoal :slight_smile: