Sobes.tech
Junior

Qual é o papel da classe Object em Java?

sobes.tech IA

Resposta da IA

A classe Object é a classe raiz da hierarquia de classes em Java. É a superclasse de todas as outras classes, incluindo arrays.

Papéis e funções principais:

  • Ancestro comum: Cada classe em Java herda implicitamente de Object. Isso significa que qualquer objeto em Java pode ser convertido para o tipo Object.
  • Fornecimento de um conjunto básico de métodos: Object contém um conjunto de métodos fundamentais, acessíveis a todos os objetos. Incluem:
    • equals(Object obj): Compara dois objetos por igualdade.
    • hashCode(): Retorna o código hash do objeto.
    • toString(): Retorna a representação em string do objeto.
    • getClass(): Retorna um objeto Class que representa o tempo de execução da classe do objeto.
    • notify(), notifyAll(), wait(), wait(long timeout), wait(long timeout, int nanos): Métodos utilizados para sincronização de threads.
    • clone(): Cria e retorna uma cópia do objeto (requer a implementação da interface Cloneable).
    • finalize(): Método chamado pelo coletor de lixo antes de remover o objeto (obsoleto, não recomendado usar).
  • Polimorfismo: Graças ao fato de que Object é um ancestral comum, é possível criar coleções ou métodos que possam trabalhar com qualquer tipo de objetos, recorrendo ao polimorfismo. Por exemplo, ArrayList<Object> pode armazenar elementos de qualquer tipo.
// Exemplo de uso do método toString()
public class MyClass {
    private int value;

    public MyClass(int value) {
        this.value = value;
    }

    @Override
    public String toString() {
        return "MyClass [value=" + value + "]";
    }

    public static void main(String[] args) {
        MyClass obj = new MyClass(10);
        System.out.println(obj.toString()); // Imprimirá "MyClass [value=10]"
    }
}