Por padrão, todas as classes em Java estende a Object
classe. (Então, única herança sempre ocorre)
Existe alguma classe que não estender a classe de objeto? (Por ex. Int pode ser uma instância da classe int mas não um objecto)
Podemos de alguma forma criar nossa própria classe que não se estende Object
? Talvez modificando javac
é código final para não estender a classe de objeto e talvez criar nossa própria classe para superar as coisas que o construtor da classe objeto faz, no mínimo, para evitar um comportamento anormal?
int
é um primitivo, portanto, não podemos dizer se estende nada.
Quando se trata de sua pergunta:
Existe alguma classe que não estender a classe de objeto?
Você respondeu que literalmente linha acima:
todas as classes em Java estende a classe Object
PS: Não podemos dizer, que há uma herança dupla, porque uma classe estende Object
e alguma outra classe, porque essa "outra classe" também se estende Object
. Na verdade, uma classe é um subtipo de todos os seus supertipos, por exemplo:
HashMap m = new LinkedHashMap();
AbstractMap m = new LinkedHashMap();
Object m = new LinkedHashMap();
parâmetros de tipo omitido por brevidade.
Edit: fazendo referência a discussão sobre o que é um objeto e que não é, JLS §4.3.1 dá a resposta:
Um objecto é um exemplo classe ou uma matriz.