Java

Thursday, April 06, 2006

 

Modificadores de Acesso[2]

Apenas dois dos quatro modificadores de acesso se aplicam às classes: default e public. Ter acesso à classe B a partir de A significa (i) que você pode criar em A uma instância de B, (ii) fazer com que A estenda B, ou (iii) acessar as variáveis de instância de B, conforme seja permitido pelos seus modificadores de acesso. Se a classe A é declarada com o acesso default, então uma classe B que esteja em outro pacote não pode estender A, nem ter uma instância de A. Somente classes do mesmo pacote de A podem herdar ou instanciar A. Se a classe A é declarada com o modificador public, entao classes de outros pacotes podem estender A desde que o import apropriado seja declarado. Classes não podem ser declaradas com os modificadores private e protecteda, a não ser que sejam classes internas, neste caso, podem receber o modificador private. Vejamos uma exemplificação dos conceitos acima:


package com;
class A{}

package com2;
class B extends A{}


A classe B não compila, pois ela não tem acesso à classe A. Para compilar B, não é suficiente adicionar o import apropriado, pois a classe A{} continua tendo acesso default, ela é invisível para classes em outros pacotes. Para compilar B, ou colocamos A e B no mesmo pacote, ou declaramos A como pública e adicionamos o import apropiado na classe B.

Comments: Post a Comment



<< Home

Archives

March 2006   April 2006   May 2006   July 2006   August 2006  

This page is powered by Blogger. Isn't yours?