Olá, boa noite! Me tira uma dúvida, no código abaixo:
class Turma {
int[] notas;
}
Notas é declarado como uma Array compostas por int.
Esta declaração se refere a classe java.util.Arrays?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá, boa noite! Me tira uma dúvida, no código abaixo:
class Turma {
int[] notas;
}
Notas é declarado como uma Array compostas por int.
Esta declaração se refere a classe java.util.Arrays?
Olá José Luiz,
pelo que entendi a classe java.util.Arrays possui vários métodos utilitários, a fim de classificar Arrays de qualquer tipo. Conforme a documentação descreve. Na ocasião, a declaração do array não depende da classe java.util.Arrays.
Oba, tudo bem? Quando declaro uma array, estarei necessariamente tendo que inicializar um objeto tipo array. Este objeto é de qual classe? note:
package com.alura.basico.exercicio04;
public class TesteArray {
public static void main(String[] args) {
int[] valor;
valor = new int[2];
valor[0] = 10;
valor[1] = 2;
System.out.println(valor[0]);
}
}
Se eu não construir um objeto tipo int[2] ele irá dar erro de compilação.
A minha dúvida é, que classe que eu estou utilizando para para referenciar o objeto valor? Acredito que não exista uma classe chamada "int[2]" quero saber o que esta declaração herda, se for herança. Atenciosamente.
José, pelo que entendi lendo a documentação da Oracle, array extende diretamente da classe Object. Segue trecho da Documentação: "Na linguagem de programação Java, os arrays são objetos (§4.3.1), são criados dinamicamente e podem ser atribuídos a variáveis do tipo Object (§4.3.2). Todos os métodos de classe Object podem ser invocados em uma matriz."
Essa idéia também é reforçada aqui: Stackoverflow
class Test { public static void main(String[] args) { int[] ia = new int[3]; System.out.println(ia.getClass()); System.out.println(ia.getClass().getSuperclass()); } }