Transient / volatile para tipos primitivos

Qual dos seguintes está correto?

friendly String s;
transient int i = 41; X
public final static native int w(); X
abstract double d;
abstract final double hu();

A questão é, uma variável do tipo primitiva pode ser transient ou volatile?

Pensei que só referências a objetos que poderiam ser desses tipos. 8O

Obrigado!

donatinho

O modificador friendly não existe, é só um nome para o controle de acesso padrão ou seja, sem modificador…

abstract só pode ser aplicado a metodos e classes, não a atributos…

Um metodo não pode ser abstract e final ao mesmo tempo pois se é abstract quer dizer que ele deve ser sobrescrito na subclasse, e final indica que ele não pode ser sobrescrito na subclasse, ou seja um exclui o outro…

Sobra os outros 2 mesmo, transient indica que o atributo não será serializado junto com o objeto, ou seja, caso o objeto seja serializado o atributo i não irá junto… volatile indica que aquele dado pode ser acessado por diversos seguimentos sem muito controle, e que não há grandes garantias sobre seu conteudo…

a outra que está correta é o public final static native que não tem nada de especial…

Mas o modificador transiente não é só usado para variáveis de referências?

Então pode ser usado para tipos primitivos também?

:???:

Não existe nenhum modificador especifico para um tipo ou outro de variavel, se ele pode ser usado em variaveis, ele se aplica a todas elas… nesse caso é usado para variaveis de instancia (atributos), de qualquer tipo…

Valeu cara !!!

:cool: