Array Java

É uma pergunta boba, mas eu gostaria de entender o pq q quando eu começo a criar uma classe e declaro um array, quando eu tento utilizar o system.out ele não fica disponível no auto complete. Aparece a mensagem de q o corpo da classe está incompleto, ai eu abro e fecho chaves( só p mensagem de erro sumir) a mensagem de erro some e o system.out volta a ficar diponivel no auto complete.

Provavelmente a IDE que você usa não deixa você usar auto complete enquanto o código está sintaticamente errado.

mas n há erro sintático no código, parece q n é possível utilizar o system.out, pq até eu escrevendo manualmente a ide aponta erro, e já n é a primeira vez q eu começo um codigo da mesma forma, ou seja, declaro um array e depois tento usar o system.out e a ide n permite. o código tá assim:

public class Array{

String nome;

Pessoa [] abc = new Pessoa[3];

}
abaixo da declaração do array, eu to tentando imprimir algo na tela e n dá p utilizar o system.out, entretanto se eu abrir e fechar chaves aleatoriamente dentro da classe, o uso do system.out volta a ficar disponível. eu só queria entender tal comportamento da ide.

É pq vc não pode colocar um print ali direto no corpo da classe, vc deve fazer isso em um método.

ahh sim, é depois de eu escrever a resposta acima eu pensei nisso, é até meio lógico, como eu n pensei nisso antes. valeu.

Ou seja, você está fazendo isso:

public class Array{

    String nome;

    Pessoa [] abc = new Pessoa[3];

    System.out.println("qualquer coisa");
}

E isso está sintaticamente errado, pois você não pode executar métodos no corpo da classe, somente dentro do corpo de métodos, construtores e blocos de inicialização.

é pq eu tinha visto um código assim, e fui tentar reproduzir, mas entendi o erro, obrigado.