Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Array

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?

3 respostas

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.

solução!

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()); } }