/ / Por que declarar uma matriz como um objeto correto em Java? - java

Por que declarar uma matriz como um objeto correto em Java? - java

A seguinte expressão compila:

Object oa = new float[20];

Como essa expressão é válida?

De acordo com minha opinião, a sintaxe correta seria

Object [] oa = new float[20];

Respostas:

33 para resposta № 1

Matrizes são objetos em Java. Portanto, uma matriz de carros alegóricos é um objeto.

BTW, Object o = new Object[20]; também é válido, pois uma matriz de objetos é um objeto.

Observe também que Object[] oa = new float[20]; é inválido, pois os flutuadores primitivos não são objetos e, portanto, uma matriz de flutuadores não é uma matriz de objetos. O que seria correto é

Object[] oa = new Float[20];

Em relação às matrizes, por serem objetos, eles têm todos os métodos de java.lang.Object. Eles também têm um atributo final público length, e eles são clonáveis ​​e serializáveis:

Object o = new float[20];
System.out.println("o instanceof Serializable = " + (o instanceof Serializable)); // true
System.out.println("o instanceof Cloneable = " + (o instanceof Cloneable)); // true

3 para resposta № 2

Basicamente, Object é uma super classe para todos os objetos em Java. Então, fazendo uma referência de Object classe e, em seguida, usá-lo como qualquer outro objeto é válido.

Object ob = new Integer(5);

Matrizes em Java nada mais são que objetos, portanto, referência a Object classe pode ser atribuída uma matriz.