modificadores de acesso  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
Fabricio Cozer Martins
GUJ Ranger
[Avatar]

Membro desde: 08/05/2004 10:22:03
Mensagens: 935
Localização: Salvador/Brasil
Offline

pessoal,

algúem sabe explicar porque o modificador de acesso abstract não pode
ser utilizado juntamente com synchronized e native?

Ex.: pode cair na prova algo assim, verificando se compila ou naum?


...
public abstract synchronized native void teste();
...

Fabrício Cozer Martins
Analista de Sistemas
Bacharel em Ciência da Computação da UFBa
Sun Certified Programmer for Java 2 Platform 1.4
Sun Certified Web Component Developer for J2EE 1.4
[MSN] [ICQ]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

a) Porque foi definido assim ( JLS, pg. 169 - parágrafo 8.4.3, Method Modifiers. Definição não se discute, cumpre-se; é a mesma coisa que falar com o seu advogado sobre a lei ou portaria número NNN

A compile-time error occurs if a method declaration that contains the keyword abstract also contains any one of the keywords private, static, final, native, strictfp, or synchronized.

b) Para você entender melhor, no caso de "native", "synchronized" e "strictfp", essas palavras-chave aplicam-se apenas a métodos "concretos", ou seja, implementações. É um detalhe de implementação que um método seja "native" ou "synchronized" ou "strictfp".
A palavra "abstract" é para métodos "abstratos", ou seja, especificações. No caso "private", é porque um método "private" é invisível em uma classe derivada, ou seja, não faz sentido especificar algo que não é mais visível.


[WWW]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

abstract não é um modificador de acesso.

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
kuchma
Moderador
[Avatar]

Membro desde: 17/01/2003 19:36:16
Mensagens: 1231
Localização: Curitiba - PR
Offline

fmartins wrote:algúem sabe explicar porque o modificador de acesso abstract não pode
ser utilizado juntamente com synchronized e native?


Alem da parte da especificacao mostrada pelo thingol, podemos analisar a questao logicamente: synchronized e native definem o comportamento do metodo - abstract diz exatamente o contrario, que o metodo se comportara conforme o desejo do provedor da implementacao.

Claro, isso depende da interpretacao de cada um e a lei eh a JLS - mas ajuda a entender.


Marcio Kuchma

E tu, Belém-Efrata, pequena demais para figurar como grupo de milhares de Judá, de ti me sairá o que há de reinar em Israel, e cujas origens são desde os tempos antigos, desde os dias da eternidade. Mq 5:2, Miquéias, 750 AC aprox.
[WWW] [ICQ]
Fabricio Cozer Martins
GUJ Ranger
[Avatar]

Membro desde: 08/05/2004 10:22:03
Mensagens: 935
Localização: Salvador/Brasil
Offline

blza....
sakei!

era isso sabia que esse modificador tinha essas regras , mas naum
sabia direito o porque... , mas de qualquer forma valeu.

Fabrício Cozer Martins
Analista de Sistemas
Bacharel em Ciência da Computação da UFBa
Sun Certified Programmer for Java 2 Platform 1.4
Sun Certified Web Component Developer for J2EE 1.4
[MSN] [ICQ]
Fabricio Cozer Martins
GUJ Ranger
[Avatar]

Membro desde: 08/05/2004 10:22:03
Mensagens: 935
Localização: Salvador/Brasil
Offline

eh isso mesmo ,



abstract não é um modificador de acesso.


seria modificador de método e classe


Fabrício Cozer Martins
Analista de Sistemas
Bacharel em Ciência da Computação da UFBa
Sun Certified Programmer for Java 2 Platform 1.4
Sun Certified Web Component Developer for J2EE 1.4
[MSN] [ICQ]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team