Paulo,
    Acho que a explicação esta no próprio paradigma OO que define componentes abstratos como entes que delegam alguma tarefa a ser implementado em suas subclasses e dentro da linguagem Java a classe java.lang.Object  é sozinho um componente completo, não há delegação de tarefas.
    Object  quer dizer componente de software, e isto implica as seguintes funcionalidades:
        - como fazer copia deste componente (clone);
        - como comparar dois elementos pertencentes a classe(equals);
        - como retira-lo da memória (finalize)
        - qual  o tipo da classe esta instanciada no objeto em tempo de execução(getClass);
        -  numero de identificação em tempo de execução (hashcode)
        -  mensagem de que ele liberou um recurso compartilhado (notify, notityAll), usado em threads
        -  nome do objeto em tempo de execução(toString), que por padrão é o nome da classe instanciada + '@' + hashcode,
            este método deve ser sobrescrito :  Objeto do tipo Aluno.toString() deve retornar RA-Nome do Aluno
        - mensagem para esperar por um recurso compartilhado(wait), usado em threads
obs: Todas as classes herdam de java.lang.Object implicitamente quando não declaradas explicitamente.


Frank

Paulo Silveira wrote:
Oi pessoal!

Uma vez alguem me perguntou, e eu não soube dar um motivo 100%:

"Porque a java.lang.Object não é abstract"?

Ela poderia perfeitamente ser abstract, já que não é preciso ter métodos abstratos para a classe ser abstrata.

Você poderia ainda se referenciar a Objects, criar array de Objects e tudo mais.

A única coisa que você não poderia fazer, seria instanciar Objects. A única utilidade de instanciar Objects, a meu 
ver, é utilizar como objetos de tag, ou como mutex (declara uns Objects estáticos e da syncrhinized neles!). Mas 
pra isso basta você criar uma inner classe bem inutil, só pros mutexes e coisas do gênero.

Existe alguma coisa que faria o java.lang.Object precisar ser concreta? Ou foi apenas uma decisão de 
implementação?

======================
Paulo Eduardo Azevedo Silveira
Grupo de Usuários Java
http://www.guj.com.br/


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