QUESTAO DE CERTIFICACAO [DUVIDA]  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
victorwss
JWizard
[Avatar]

Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline

As classes estáticas estão no mesmo escopo do método main, portanto são classes aninhadas. Neste caso é letra A.

Victor Williams Stafusa da Silva

Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.

Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.

Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.


É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).


Se você escreve "concerteza", "concerteza" você andou matando aulas de português.
[MSN]
JohnJohn
Debugger
[Avatar]

Membro desde: 17/10/2006 18:32:40
Mensagens: 59
Offline

Errado
LPJava wrote:outra nao se dar new em classe static o erro está ai..
As classes static nao podem ser instanciada com new, é o mesmo que acontece com as seguintes classes:
DateFormat, NumberFormat.. elas sao classes static, e nao sao instanciads com new, e sim com metodos de fabrica..



esse codigo nao compila!



Correto
Java Man wrote:
A classes DateFormat e a NumberFormat possue respectivamente a seguinte assinatura: public abstract class DateFormat e public abstract class NumberFormat, portanto elas não são estáticas e sim abstratas, por isso não podem ser instanciadas através da keyword new. Se houver alguma dúvida sugiro consultar a API JAVA


Quanto a sobrescrita, o 1º método pode lançar exceção e o 2º pode lançar uma exceção mais restritiva, ou lançar exceções de tempo de execução ou nem lançar (como é o caso) ....
Mas como vc colocou, dentro de inner class:
1 - void process() throws Exception{ throw new Exception();}
2 - void process(){System.out.println("B");}
Quando vc fizer esta chamada: new B().process(); ... dará um erro de compilação ...
Como lhe falei, isso se dar em sobrescrita ...
Mas se vc fizer esse programa, rodará e imprimirá 'B'
Quer dizer isso foi feito para confundir sobrescrita com Inner Class
Esse erro que deu ao vc implementar deve ser que vc colocou static na classe principal (o que não pode).

eu sempre desejei mudar o mundo, mas nunca me deram o código fonte ...
hoje tenho em minhas mãos: Bíblia!!!
LPJava
GUJ Hacker

Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline

hii rpz.. é verdade sao abstratas.. e acabei de conferir aqui no livro foi mal.. me confudi hehe mais lembrei que classes aninhadas estaticas nao usam new... e me embolei com a regra do abstracts foi mal... hehe mais o que falei a respeito do new em class static é valido..

obrigado pela correção ai pessoal valeu!

Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
[WWW]
geovanebg
Debugger
[Avatar]

Membro desde: 15/12/2007 17:50:50
Mensagens: 69
Localização: BH
Offline

muito interessante as observações...
fiquei tentando achar uma classe static hj em tudo quanto é canto da documentação java...

mais por favor me tirem uma dúvida que persiste até agora..

qual é a diferença do método NumberFormat.getInstance(); para o new????

o que é exatamente o método de fábrica... olhei no livro do Deitel e num achei nenhuma explicação mais profunda... olhei no google e só tem o exemplo NumberFormat.getInstance(); ....

o que o getInstance() faz de diferente?

pq não sei se foi burrice minha, como estavam falando de classes static pensei que todos os objetos criados com o getInstance() fossem os mesmos então fiz um pequeno teste...

tipo:

NumberFormat a = NumberFormat.getInstance();
NumberFormat b = NumberFormat.getInstance();

e em um comparação (a==b) veio um false...

mais parece q num tem nada haver o que eu pensei né...

se saber o que é um método de fábrica for uma coisa muito importante algúem por favor poderia me explicar o q é isso?

This message was edited 1 time. Last update was at 26/12/2007 22:16:06

[MSN]
RafaelF
Entusiasta Java

Membro desde: 28/12/2007 13:57:48
Mensagens: 23
Offline

Desculpa a dúvida, sou novo aqui mas já acompanho o forum ha bastante tempo, mas to começando agora com a SCJP. Não entendi essa parte aqui:

As classes estáticas estão no mesmo escopo do método main, portanto são classes aninhadas. Neste caso é letra A.


Não entendi pq a classe é aninhada... o main dela está dentro da static class B, ou seja, para ser aninhada o metodo main dela não deveria estar no escopo da class publica? desculpa se eu tiver viajando, eu realmente ainda não entendi essa questão e gostaria de entender. Pra mim a resposta seria não compila.

Obrigado.


Rafael Franchi - Desenvolvedor Java Web
http://rafaelfranchi.com
geovanebg
Debugger
[Avatar]

Membro desde: 15/12/2007 17:50:50
Mensagens: 69
Localização: BH
Offline

As classes estáticas estão no mesmo escopo do método main, portanto são classes aninhadas. Neste caso é letra A.


As classes estáticas estão declaradas dentro de outra classe.
Ou seja estas classes estão no escopo do método main da classe mais externa (deu pra entender???)

exmplo:

a classe aninhada Qualquer coisa está no mesmo escopo do metodo main da classe Hello.

This message was edited 1 time. Last update was at 28/12/2007 15:09:57

[MSN]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team