Acho q seu compilador foi escrito pela Microsoft, meu camarada... :-P
Isto nao compila nem aki nem na China, tenho certeza absoluta... Nao preciso
nem testar, se vc tem:

public class A {
  private int x;
}

public class B extends A {
  public B() {
     x = 1;
  }
}

e tentar compilar, vc vai receber ou "undefined variable: x" ou "variable x
is not visible to B" ou alguma coisa assim...
A resposta anterior eh correta...

Qdo vc se certificou?????????????

----------------------------------------------------
Michael Nascimento Santos
Sun Certified Programmer for the Java 2 Platform
Analista/Consultor
Moderador SouJava - www.soujava.org.br
CPM Sistemas - www.cpm.com.br

    From: "Edson Tirelli" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: <[EMAIL PROTECTED]>
Subject: RES: [java-list] Basico de OO em JAVA - CUIDADO
Date: Thu, 5 Jul 2001 11:49:59 -0300


    Amigos,

    Este assunto inclusive circulou aqui na lista a um tempo atras. Eh um
erro comum q eu tambem cometia no inicio, mas eh importante exclarecer: os
modificadores de acesso limitam o ACESSO EXTERNO aos atributos  da classe,
mas NAO LIMITAM A HERANCA.
    Isso quer dizer q se uma classe eh FILHA de outra, ela vai HERDAR TUDO
da classe MAE, podendo eventualmente sobrescrever algumas coisas (por
exemplo, o q NAO estiver definido como "final" na classe mae).
    Assim, no exemplo citado pelo colega:

public class Mae {
    private   int x;
    protected int y;
}

public class Filha extends Mae {
    // A FILHA HERDA O ATRIBUTO PRIVADO "X" E O ATRIBUTO PROTEGIDO "Y"
    public Filha() {
       x = 50;  // PERFEITAMENTE CORRETO
       y = 100; // PERFEITAMENTE CORRETO
    }
}

     Pra tentar exclarecer o modificador private, observe essa nova
implementacao abaixo:

public class Filha extends Mae {
    // A FILHA HERDA O ATRIBUTO PRIVADO "X" E O ATRIBUTO PROTEGIDO "Y"
    public Filha() {
       x = 50;  // PERFEITAMENTE CORRETO
       y = 100; // PERFEITAMENTE CORRETO
    }

    public void m() {
        Mae amae = new Mae();
        amae.x = 30;     // ERRO DE COMPILACAO -> x eh atributo privado de
Mae
        amae.y = 20;     // CORRETO -> y eh atributo protegido de Mae

        this.x = 50;     // CORRETO -> atributo x herdado
        this.y = 60;     // CORRETO -> atributo y herdado
    }
}

     Observe q a diferenca entre atributos privados e protegidos eh q os
atributos protegidos permitem o ACESSO EXTERNO quando o objeto q estiver
fazendo o acesso for de uma classe FILHA ou DO MESMO PACOTE q a classe q
contem o atributo.

     Espero ter exclarecido, mais do que complicado... :)

     Abraco,
         Edson

---
Edson Tirelli
System Analyst
Microsoft Certified Professional
Sun Certified Programmer for Java 2 Platform
try Automatos @ www.automatos.com



-----Mensagem original-----
De: Alexandre N�brega Duarte [mailto:[EMAIL PROTECTED]]
Enviada em: quinta-feira, 5 de julho de 2001 08:10
Para: [EMAIL PROTECTED]
Assunto: Re: [java-list] Basico de OO em JAVA


Acho que o que voce quer fazer e isso.


public class Mae {

    private int atributo;

    public Mae(){

    }

}


public class Filha extends Mae {

    public Filha() {
        atributo = 0;
    }
}

Se for isso, eh impossivel, mas voce pode contornar este problema fazendo o
atributo protected ao inves de private. Dessa forma ele continua a ser
privado para quem esta de fora da classe mas fica publico para as classes
filhas.



public class Mae {

    protected int atributo;

    public Mae(){

    }

}

Alexandre N�brega Duarte
P�s-Gradua��o em Inform�tica
Departamento de Sistemas e Computa��o
Universidade Federal da Para�ba
----- Original Message -----
From: Fabio Ferreira
To: [EMAIL PROTECTED]
Sent: Wednesday, July 04, 2001 5:13 PM
Subject: [java-list] Basico de OO em JAVA


Como se "seta" um atributo (private) herdado da classe mae no construtor da
classe filha ?

Fabio Ferreira

_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP 
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a