Ajuda com código RESOLVIDO

2 respostas
flavioti

Eu não estou conseguindo identicar partes do código abaixo:

public class Sequence { static { System.out.print("x "); } { System.out.print("y "); } Sequence() { System.out.print("c "); } public static void main(String[] args) { new Sequence().go(); } public void go() { System.out.print("g "); } }
As partes são:

static { 
		System.out.print("x "); 
		}

e

{ System.out.print("y "); }

Conheço métodos estáticos e não estáticos, mas não sei definir se esses ai são. Se são, pq não tem identificador (nome) e pq o resultado será "x y c g "?

2 Respostas

D

Olá amigo, não são métodos estáticos, e sim ‘blocos estáticos’ e blocos que são executados antes dos construtores da sua classe ou pré-construtores. Blocos estáticos são executados no momento em que a sua classe é carregada, já os pré-construtores são executados antes da criação dos objetos da classe.

aqui tem uma boa explicação:
http://www.davidpaniz.com/2009/01/22/pre-construtores-e-blocos-estaticos/

flavioti

Obrigado dan20, compreendi perfeitamente.

Criado 19 de novembro de 2012
Ultima resposta 21 de nov. de 2012
Respostas 2
Participantes 2