Pois é se isso for uma afirmação, creio que o livro pode estar equivocado, pq vc usando “.” seria juntamente com o “this”, ou um objeto que nao seja o corrente. Mas dessa forma que vc mostrou funciona tb.
felipemartinsss
TiagoTC:
No livro da Kathy Sierra, está escrito a seguinte frase:
“Members accessed without the dot operator (.) must belong to the same class.”
Mas, veja o seguinte código:
class A{int x = 0;}
class B extends A{int y = x;}
Aqui eu estou acessando o ‘x’ sem o operador ‘.’, sendo que ele está definido na outra class (A). Isso não fura a afirmação dada pelo livro?
Obrigado.
As instâncias da classe B são também instâncias da classe A.
Ele herda o atributo da classe A através da palavra-chave extends.
el_loko
TiagoTC:
No livro da Kathy Sierra, está escrito a seguinte frase:
“Members accessed without the dot operator (.) must belong to the same class.”
Mas, veja o seguinte código:
class A{int x = 0;}
class B extends A{int y = x;}
Aqui eu estou acessando o ‘x’ sem o operador ‘.’, sendo que ele está definido na outra class (A). Isso não fura a afirmação dada pelo livro?
Obrigado.
Confuso.
Quando usamos herança, estamos definindo a visibilidade entre essas classes. Partindo desse ponto de vista, a afirmação do livro
está equivocada.
sergiotaborda
TiagoTC:
No livro da Kathy Sierra, está escrito a seguinte frase:
“Members accessed without the dot operator (.) must belong to the same class.”
Mas, veja o seguinte código:
class A{int x = 0;}
class B extends A{int y = x;}
Aqui eu estou acessando o ‘x’ sem o operador ‘.’, sendo que ele está definido na outra class (A). Isso não fura a afirmação dada pelo livro?
Obrigado.
O java aceita que chame sem o ponto por causa do sombreamento. o que a a Kathy está lhe dizendo é que isso é uma má prática.
O uso do ponto serve para driblar o sombreamento, então sempre que chamar por algo fora da classe deve usar o ponto junto com this ou super.
Esse codigo assima funciona, mas está pessimanente construido.
ramos1berto
Por essas e outras quem em bons exemplos de código sempre usam o this neste tipo de situação…