Olá, Vitor.
Tudo bem?
Em Java, a forma como você declara arrays pode parecer confusa no início, mas na verdade é bem simples. As declarações B[] bs
e B bs[]
são equivalentes e ambas criam um array de objetos do tipo B
. A escolha entre uma forma ou outra é mais uma questão de estilo e preferência pessoal.
Por exemplo, as duas linhas abaixo são equivalentes:
B[] bs = new B[100];
B bs[] = new B[100];
O mesmo vale para String[] args
e String args[]
. Ambas são formas válidas de declarar um array de String
.
Agora, sobre a questão do exercício, a linha B[] bs = new B[100];
cria um array que pode conter 100 objetos do tipo B
. No entanto, nesse ponto, nenhum objeto do tipo B
foi realmente criado. O que foi criado é apenas o array que pode armazenar esses objetos.
Para realmente criar objetos do tipo B
e colocá-los no array, você precisaria fazer algo assim:
for (int i = 0; i < bs.length; i++) {
bs[i] = new B();
}
Como o código fornecido no exercício não faz isso, a resposta correta é a opção B: "Compila e nenhum objeto do tipo B
é criado."
Espero ter ajudado e bons estudos!