"Frederico Charle S. Faria" wrote:
> 
> Agora o motivo porque os projetores de Java decidiram por isso - exigir o
> super() na primeira linha impossibilitando mesmo a  utilização de variáveis
> não membros - com certeza foi devido a fatores de complexidade de
> implementação  e performanca. ( da MV)

        Muito obrigado pelas informações, mas eu conheço um pouco sobre
técnicas de compilação e não vejo porque a utilização de variáveis
locais afetaria significativamente a implementação e muito menos a
performance. Afinal de contas, para um compilador, esse trecho de código:

MessageOutputStream() throws java.io.IOException {
  ByteArrayOutputStream tmp = new ByteArrayOutputStream();
  super(tmp);  // ERRO!
}

        Tem praticamente a mesma complexidade deste aqui:

MessageOutputStream() throws java.io.IOException {
  super(new ByteArrayOutputStream());
}

        À primeira vista, o compilador só tem que ser um pouco mais
cuidadoso na manipulação da pilha de execução, mas isso parece ser
muito fácil de resolver. Será que tem algum outro fator que eu não
percebi?

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

Responder a