Bonjour,
j'ai récupéré un bout de code, et je n'arrive pas à voir pourquoi cela fonctionne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Machin {
	int i = 1;
 
	static int j = 3;
	static { j = 2; }
 
	Machin() {
		i = 4;
		j = 5;
	}
 
	public static void main(String ch[])
	{
		System.out.println(j);
		new Machin();
		System.out.println(j);
	}
}
Pourquoi la ligne 5 fonctionne? Qu'est ce qu'elle représente? C'est de la redéfinition? Pourquoi on ne peut pas le faire sans accolade? Et pourquoi ce n'est pas propre au bloc?
Ce petit machin me perturbe et je n'arrive pas à l'expliquer logiquement avec ce que je connais de la programmation.

Merci d'avance.