Obs.: Ja compreendi o funcionamentos dos arrays, porem continuo com duas duvidas antigas sobre arrays sendo objetos. Acredito que preciso de uma resposta mais detalhada do que é exatamente um objeto e sobre o uso do "new".
1 - Se sempre que crio um objeto com o "new" tenho que chamar o construtor da classe que vou instanciar o objeto, por que então quando crio um array nao preciso usar os parenteses?
int[] a = new int[1];
*** Nao deveria ter necessariamente depois da palavra "new" uma classe como base pro objeto e os parenteses pra indicar que está se chamando seus construtor?
2 - E por que quando inicio um array de int, double, char, boolean... é criado um objeto (com os metodos da Classe Object, como o ToString() por exemplo). E quando crio um variavel primitiva não é criado um objeto?
int a = 1;
a.toString(); //* Nao existe *//
int[] b = new int[1];
b.toString(); //* Existe *//