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]
---------------------------------------------------------------------