Excelente resposta para a questão.

 --- "Dr. Spock" <[EMAIL PROTECTED]> escreveu: > Caro
Wagner,
> 
>    Para falar a verdade não importa muito se é ou
> não um tipo primitivo.
> 
>    A palavra reservada 'void' tem o propósito de
> indicar, para o 
> compilador e para o 'runtime', que um método não
> retorna um parâmetro. 
> Só isso e nada mais do que isso. Contudo, por
> simetria e facilidade de 
> leitura podemos dizer que void é um tipo, mas não
> queremos 
> necessariamente dizer que 'void' é um tipo.
> 
>    Já a classe 'Void' é uma classe como outra
> qualquer. Sabemos que um 
> tipo primitivo (através das suas repectivas classes
> 'wrapper'), a 
> interface de uma classe e uma inteface sempre
> definem um tipo [1]. 
> Então, a classe 'Void', apesar de não ser possível
> instanciá-la (The 
> Void class is an uninstantiable placeholder class),
> define um tipo. Mas, 
> a verdadeira utilidade da classe 'Void' está no
> conceito de reflexão 
> [2]. Reflexão nos permite ter acesso às informações
> de uma classe 
> (metadados de uma classe) em tempo de execução.
> Através da reflexão é 
> possível ter informações sobre os campos, métodos e
> construtores de uma 
> classe carregada em memória. Ou seja, em tempo de
> execução de uma 
> aplicação Java, é possível obter informações sobre
> quais métodos uma 
> classe tem e, a partir de um dado método, pode-se
> ter acesso aos 
> parâmetros recebidos e retornado por este método.
> Para cada parâmetro de 
> entrada do método, é possível saber o seu tipo. O
> mesmo tb é possível 
> para o parâmetro de retorno do método. Quando um
> método retorna um 
> objeto fica óbvio qual o tipo retornado (um tipo
> primitivo via a sua 
> classe wrapper, uma classe ou uma interface). E
> quando o método não 
> retorna nada? Vc tb precisa saber quando um método
> não retorna algo 
> durante o processo de reflexão de uma classe. Por
> simetria, já que a 
> reflexão pode informar o tipo retornado via a
> definição de uma classe, é 
> necessário ter uma classe que defina um tipo e
> indique que o método em 
> questão não retorna nada. Neste caso estamos falando
> da classe 'Void'. 
> Várias informações também podem ser obtidas por
> intermédio da classe 
> Class [4]. Neste último caso o processo é chamado de
> 'instrospecção', 
> mas a classe 'Void' já não é mais necessária.
> 
> Para maiores detalhes:
> 
> [1].
> 
>
http://java.sun.com/docs/books/jls/second_edition/html/jTOC.doc.html
>
http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#44365
>
http://java.sun.com/docs/books/jls/second_edition/html/interfaces.doc.html#238680
>
http://java.sun.com/j2se/1.3/docs/guide/reflection/spec/java-reflection.doc.html#1705
> 
> [2].
> 
>
http://java.sun.com/j2se/1.3/docs/guide/reflection/index.html
> 
> [3].
> 
>
http://java.sun.com/j2se/1.3/docs/guide/reflection/spec/java-reflectionTOC.doc.html
> 
> [4].
> 
>
http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html
> 
>    É isso aí ... Enjoy ...
>    []´s
> 
>      Spock
> 
> Wagner Menezes wrote:
> > Pessoal,
> > 
> > surgiu uma duvida bastante intrigante, se em
> alguma prova tiver a 
> > seguinte questao:
> > void eh um tipo primitivo?
> > a resposta eh verdadeira ou falsa?
> > a duvida surgiu pois no livro "Thinking in Java"
> (segunda edicao), 
> > pagina 68, indica que void eh um tipo primitivo.
> > Porem no "The Java Language Specification - 
> second edition", pagina 
> > 286, tem:
> > "Note that the Java programming language does not
> allow a "cast to 
> > void"—void is not a type—so the traditional C
> trick of writing an 
> > _expression statement such as..."
> > e mais ainda na API de Java referente a classe
> Void tem o seguinte:
> > "The Void class is an uninstantiable placeholder
> class to hold a 
> > reference to the Class object representing the
> primitive Java type void."
> > fica entao a questao void eh tipo primitivo?
> > se void eh tipo primitivo, a classe Void eh uma
> Wrapper Class?
> >  
> > 
> > aguardo respostas,
> > 
> > Wagner
> > 
> > 
> >
>
------------------------------------------------------------------------
> > *Busca Yahoo! <http://br.busca.yahoo.com/>*
> > O melhor lugar para encontrar tudo o que você
> procura na Internet
> 
> 
> 
> 
> ------------------------------ 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
> historico:
>
http://www.mail-archive.com/java-list%40soujava.org.br
> para sair da lista: envie email para
> [EMAIL PROTECTED] 
>
-------------------------------------------------------------------------
>  

_______________________________________________________________________
Busca Yahoo!
O melhor lugar para encontrar tudo o que você procura na Internet
http://br.busca.yahoo.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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a