Ola !
Estou estudando Java e cheguei numa duvida que nao consigo compreender.
veja o codigo a seguir:
//Declaração da classe
public class TestaConstrutor {
//Declaração de um array
int[] inteiros;
// Criação de um metodo construtor;
TestaConstrutor() {
//inicializacao
inteiros = new int[4];
//atribuicao
inteiros[0] = 10; inteiros[1] = 11;
inteiros[2] = 12; inteiros[3] = 13;
}
// Metodo de execução
public static void main(String[] args){
TestaConstrutor tc = new TestaConstrutor();
tc.inicia();
}
// Criação de um metodo que irá imprimir o conteudo de cada uma das posições do array.
private void imprimeArray(int valor) {
System.out.println(valor);
}
// Metodo de chamada de execução
private void inicia(){
// Imprime o conteudo do array
for (int i=0; i<4; i++){
imprimeArray(inteiros[i]);
}
}
}
Sendo o metodo main um metodo statico ele nao consegue executar chamadas a metodos nao estaticos, certo?
criei o metodo imprimeArray() sendo um metodo nao estatico com um parametro do tipo inteiro (int valor)
criei o metodo inicia() que tambem é um metodo não estatico para ser chamado por um objeto da classe do metodo de execução.
A duvida é:
Porque o metodo inicia(), que nao é estatico pode ser utilizado dentro do metodo main e o metodo imprimeArray(int valor) nao pode ser chamado dentro do metodo main, sendo que ele tambem nao é estatico?
porque posso, dentro do metodo main : tc.inicia();
e nao posso : tc.imprimeArray(int valor) ?
Obrigado pela ajuda !
