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