Questão de certificação  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
camillabrasilia
JavaBaby
[Avatar]

Membro desde: 21/02/2003 22:27:12
Mensagens: 77
Localização: Brasilia - DF
Offline



Essa eu acertei, mas tudo bem que ela está fácil.
Espero que a prova de certificação esteja neste nível de dificuldade.

O que irá acontecer ao tentar compilar e rodar a classe "Teste.class"?

------------------------------------------
Analista de Sistemas & Desenvolvedora
Camilla Cristina - JavaGirl
brlima
Moderador
[Avatar]

Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline

Vai imprimir: "b,c,a"... certo ???? ai q meda... hehehehehe

Bruno R. Lima
-------------------------------------------
flickr :: twitter
[MSN]
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline

ALguém poderia me explicar o conceito, como funciona, a utilidade de


?

------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."

http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
[Email]
ricardolecheta
GUJ Master
[Avatar]

Membro desde: 17/05/2003 13:42:10
Mensagens: 1486
Localização: Curitiba
Offline

Rafael Nunes wrote:ALguém poderia me explicar o conceito, como funciona, a utilidade de


?


falando claro e direto,
o codigo entre static{ } vai rodar a 1ª vez que a classe for utilizada.

Ricardo R. Lecheta
Livro - Google Android (português)
http://www.livroandroid.com.br/
http://livroandroid.blogspot.com/
http://www.livetouch.com.br/
Ping
Virtual Machine Man
[Avatar]

Membro desde: 17/10/2003 10:52:52
Mensagens: 687
Offline

E qual a resposta certa disso mesmo...
[ICQ]
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline

eu acredito que seja "bca"

------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."

http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
[Email]
Ping
Virtual Machine Man
[Avatar]

Membro desde: 17/10/2003 10:52:52
Mensagens: 687
Offline

Porque você acha que o resultado será "bca"?
[ICQ]
brlima
Moderador
[Avatar]

Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline

Só se a JVM estiver executando errado....rsss....
Mas nao tem segredo:
ao usar a classe para imprimir o conteudo statico do campo "teste", ele primeiro inicializa os blocos estaticos da classe, carregando teste="a", depois executando o bloco onde inicializa nome="b", imprime ele ( output: "b" ). Cria uma instancia da classe TesteA, que por sua vez chama o TesteA() que é o contrutor da classe, imprimindo "c" ( output: "b c" ). Depois de todos os blocos inicializados ok, imprime o conteudo do campo estatico teste que é "a" ( output: "b c a" )....


Aeee ...

Bruno R. Lima
-------------------------------------------
flickr :: twitter
[MSN]
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline

Vamos lá,
O método main esta imprimindo a a variável de referência "teste" da classe TesteA, porém antes de imprimir está variável, ela irá executar um classloader para carregar a classe TesteA em memóri, ao executar o construtor ela irá executar primeiramente o bloco static (imprimindo "b"), logo depois executará o construtor de TesteA(imprimindo "c"), e somente depois imprimindo a variável teste (a). Logo, "bca".

Acho que é mais ou menos isso. Não sei se me fiz entender...

------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."

http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
[Email]
Ping
Virtual Machine Man
[Avatar]

Membro desde: 17/10/2003 10:52:52
Mensagens: 687
Offline

Agora deu para entender blz...
[ICQ]
elvishr
JavaChild
[Avatar]

Membro desde: 01/04/2003 00:47:21
Mensagens: 117
Localização: Brasília/DF
Offline

Uma classe com o bloco:

static {
}

faz com que a classe seja a mesma coisa que quando criada com:

static class ...

???

Elvis não morreu
SCJP 1.4
SCWCD 5.0
SCBCD 5.0
JBCAA
[ICQ]
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline

Não, o bloco static é um bloco executado sempre que a classe for carregada pela primeira vez...

------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."

http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
[Email]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team