- Uma matriz não é uma instância de qualquer classe listada na árvore de classes, no entanto, cada matriz é um objeto e herda diretamente de
java.util.Object
(new int[1]) instanceof Object // -> evaluates to true
- A classe
java.util.Arraysé uma classe auxiliar e os arrays não são instâncias dessa classe.
(new int[1]) instanceof java.util.Arrays // -> compile error
- A classe
java.lang.reflect.Arrayé uma classe auxiliar e os arrays não são instâncias dessa classe.
(new int[1]) instanceof java.lang.reflect.Array // -> compile error
Arrays herdam todos os membros de java.lang.Object
Os arrays substituem o método clone()herdado de Object.
Arrays implementam o campo length , que contém o número de componentes do array. comprimento pode ser positivo ou zero. É publice final.
Arrays implementam as interfaces Cloneable e java.io.Serializable.
8a. Arrays são suportados porClass<T> . Você pode recuperar a Class<T>instância de uma instância de array
(new int[2]).getClass()
ou de um tipo de array
int[].class
8b. Uma instância de classe de reflexão única (ou seja, uma instância de java.lang.Class<T>) é criada para cada tipo de array diferente em seu código. Exemplos
int[].class.getCanonicalName() // -> "int[]"
String[].class.getCanonicalName() // -> "java.lang.String[]" /
- Para repetir: as matrizes são objetos, mas não são instâncias de nenhuma classe na árvore de classes.
REFERÊNCIAS
Da especificação Java Seção 4.3.1 Objetos
Um objeto é uma instância de classe ou um array.
Uma instância de classe é explicitamente criada por uma expressão de criação de instância de classe.
Um array é explicitamente criado por uma expressão de criação de array.
De java.util.Arrays
- Esta classe contém vários métodos para manipular matrizes (como classificação e pesquisa)
De java.lang.reflect.Array
- A classe Array fornece métodos estáticos para criar e acessar arrays Java dinamicamente.
Da Seção 10.1 Objetos
Da Seção 10.7 Membros do Array
Os membros de um tipo de matriz são todos os seguintes:
O campo público final length, que contém o número de componentes da matriz. comprimento pode ser positivo ou zero.
O método público clone, que substitui o método de mesmo nome na classe Objecte não lança exceções verificadas. O tipo de retorno do clonemétodo de um tipo de array T[]é T[].
Um clone de uma matriz multidimensional é superficial, o que significa que ele cria apenas uma única nova matriz. Subarrays são compartilhados.
Todos os membros herdados da classe Object; o único método de Object que não é herdado é seu método clone.