É 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.