Oi, Einar
Sou iniciante em Java, mais vou usar meus conhecimentos de OO.
Sera que o problema e que voce esta pasando uma referencia que e' privada
pra superclasse acessar?
O Java tem protected? Se tiver, tenta usar no lugar do private.
Seria algo assim :

class MessageOutputStream extends ObjectOutputStream {
  protected ByteArrayOutputStream _bos;
  MessageOutputStream() throws java.io.IOException {
    super(_bos = new ByteArrayOutputStream());  // Passar uma referencia
publica para o super
  }
}

Desculpa se falei alguma besteira, mais meu C++ esta enferrujado depois de
tantos anos de delphi.

Um abraco, Pablo.

-----Original Message-----
From: Einar Saukas <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
Date: Monday, November 22, 1999 12:15 AM
Subject: [SouJava-J] Construtores em Java


'
Oi pessoal!

Encontrei um problema interessante no projeto em que estou
trabalhando, ser� que algu�m tem alguma sugest�o? Minha inten��o
era fazer uma classe assim, s� que n�o funciona:

class MessageOutputStream extends ObjectOutputStream {
  private ByteArrayOutputStream _bos;
  MessageOutputStream() throws java.io.IOException {
    super(_bos = new ByteArrayOutputStream());  // ERRO!
  }
}


Todas as outras solu��es semelhantes que eu consegui imaginar
tamb�m n�o funcionam, como essa por exemplo:

class MessageOutputStream extends ObjectOutputStream {
  private ByteArrayOutputStream _bos;
  MessageOutputStream() throws java.io.IOException {
    ByteArrayOutputStream tmp = new ByteArrayOutputStream();
    super(tmp);  // ERRO!
    _bos = tmp;
  }
}


Na verdade, existe uma �nica variante que funciona, mas �
uma p�ssima solu��o:

class MessageOutputStream extends ObjectOutputStream {
  static ByteArrayOutputStream tmp;
  private ByteArrayOutputStream _bos;
  MessageOutputStream() throws java.io.IOException {
    super(tmp = new ByteArrayOutputStream());
    _bos = tmp;
  }
}


Por isso, a solu��o que eu acabei adotando foi deixar parte
da inicializa��o para ser feita pelo "cliente" da classe:

class MessageOutputStream extends ObjectOutputStream {
  private ByteArrayOutputStream _bos;
  MessageOutputStream(ByteArrayOutputStream bos)
      throws java.io.IOException {
    super(bos);
    _bos = bos;
  }
}


Em todo caso, se algu�m tiver alguma id�ia de como implementar
minha inten��o original, eu agrade�o. Eu acho que n�o tem muito jeito,
mas n�o custa nada perguntar...

Um abra�o,

Einar Saukas
Technical Consultant
Summa Technologies, Inc.
http://www.summa-tech.com

    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------


    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------

Responder a