Método construtor


class Tst{
	int ini=0, fim=25;

	void print(){
		System.out.println(ini+fim);
	}

	{
		ini=fim%7;
		fim=ini*3;
	}

	public Tst(int a, int b){
		ini+=a;
		fim+=b;

		System.out.println("INI: " + ini +"\nFIM: " + fim);
	}

	{
		ini/=2;
		fim+=10;
	}

}

class Main{
	public static void main(String[] args){
		new Tst(4, -4).print();
	}

}

Pessoal então, eu estou com uma dúvida enorme em relação ao fluxo de leitura desse programa. Se fosse numa linguagem procedural o programa seria lido de cima para baixo, porém o que dificulta o entendimento no Java é justamente esse método construtor, visto que, quando ele está declarado, é a primeira coisa a ser lida quado o objeto for criado.
Alguém pode me explicar quais foram os passos desse programa?

Qual é o ponto de entrada do seu programa?
Resposta: O método main.

O programa vai executar em sequência as instruções a partir do método main.

No seu caso:
primeiro vai entrar no construtor Tst(int, int);
Daí primeiro vai chamar o super construtor da classe pai, que no caso é a classe Object;
Depois vai executar o bloco de inicialização que você declarou na classe;
Em seguida o resto do corpo do construtor;
E finalmente o método print().

1 curtida

Ajudou muito, valeu.

Só complementando. Um construtor em Java não é um método, ou seja, não se fala “método construtor”, mas sim, somente, “construtor”.

3 curtidas