Constutor Estático?

2 respostas
P
public class Teste {

	public static void main(String[] args) {
			A a = new A();								 
	}
}

class A
{
	static{
		System.out.println("Parece ser um construtor!");
	}	
}

Alguém sabe o que significa essa declaração estática? Ele imprime a mensagem na saida toda vez que se instancia a classe “A”! É um construtor estático?

2 Respostas

J

Pense comigo, um construtor cria uma instancia da classe, membros estaticos não pertencem a instancias, portanto não existem construtores estaticos, se você não vai instanciar a classe…

esse bloco static é executado como qualquer outro membro static, quando a classe é carregada pelo ClassLoader, é um bloco da classe…

R

É um bloco estático, não um construtor estático…

Ele é acessado na primeira instancia da classe… ou seja… segue os mesmos conceitos do static, como variável, métodos, etc… é como se ele fosse o mesmo pra qualquer instancia, deu pra sacar?

Quando você tem uma variável static, ela é a mesma pra qualquer instancia daquele objeto correto? O mesmo ocorre para os blocos estáticos, eles só serão acessados na primeira instancia do objeto.

Pra testar, crie umas 10 instancias de A e veja o resultado.

Desculpa a forma de explicar, mas é como eu entendo isto.

Abraços!

Criado 16 de agosto de 2005
Ultima resposta 16 de ago. de 2005
Respostas 2
Participantes 3