A- The code does not compile.
B- Output is “Hello”.
C- Output is “HelloHello”.
D- Output is “HelloHelloHello”.
E- Compilation succeeds, but no output is generated.
não sei se está muito obvia ou é alguma pegadinha.
mas pra mim é a Letra D, será impresso: HelloHelloHello
R
renan_danielPJ
realmente naum tem nada de diferente:
letra D
S
shadowPJ
por que acontece isso???
ele interpreta como contrutor???
F
fmartinsPJ
isso eh um bloco estatico anonimo de classe … toda instancia dessa classe ele eh executado … independente se o construtor for default ou nao… ele vai imprimir o numer de vezes q a classe foi instanciada no main… entao seria a letra D …
poxa cara … naum sei muitas particularidades dessa questao … se alguem puder dar uma explicada melhor …
S
SchuenemannPJ
Sim, é a letra D.
O bloco é executado antes do construtor.
Se o bloco estivesse marcado como static, só executaria uma vez, mesmo criando-se três instâncias da classe, como no exemplo…
Ahh sim, e o bloco não precisa ser o primeiro bloco da classe
S
shadowPJ
entaum eh a mesma coisa que um bloco static?
R
RobsonPJ
O bloco static é executado quando a classe é carregada na memória, enquanto o bloco “default”, como no exemplo, é executado sempre que um objeto da classe é instanciado.